我希望我的程序能够访问处理字符串输入并返回一些相关信息的网站。我想输入两个序列,提交它们并通过程序读取结果。该网站是:如何填写网站表单并在C#中检索结果?
http://scansite.mit.edu/motifscan_seq.phtml
如果输入要说5031601蛋白质名称和DRNAYVWTLKGRTWKPTLVILRI为顺序,你会被重定向到结果的网站。这是我希望能够通过我的程序阅读的网站。 我已经研究了很多关于这个,但我似乎无法得到任何有用的解决方案。
任何人都可以帮我吗?
编辑:
我试图创建下面的代码(改编自链接)的Web请求:
WebRequest request = WebRequest.Create(
"http://scansite.mit.edu/motifscan_seq");
request.Method = "POST";
string postData = @"motif_option=all&protein_id=5031601&
sequence=DRNAYVWTLKGRTWKPTLVILRI&
stringency=High&submit=Submit Request";
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
using (WebResponse response = request.GetResponse())
using (Stream resSteam = response.GetResponseStream())
using (StreamReader sr = new StreamReader(resSteam))
File.WriteAllText("SearchResults.html", sr.ReadToEnd());
System.Diagnostics.Process.Start("SearchResults.html");
当我打开SearchResults.html,它包含原始形成输入蛋白名称的网站。该序列尚未输入(它是一个文本区,而不是文本框)。并没有提交。有什么我失踪或做错了吗?
通过将请求发送到的是,在形式标签(http://scansite.mit.edu/cgi-bin/motifscan_seq)的action属性规定的URI解决问题。
丹尼尔,非常感谢你的回复。我不得不编辑我的问题,因为我不允许“回答我自己的问题”:) – Anna