【发布时间】:2011-08-31 19:47:58
【问题描述】:
我希望我的程序能够访问处理字符串输入并返回有关它的一些信息的网站。我想输入两个序列,提交它们并通过程序读取结果。网址如下:
http://scansite.mit.edu/motifscan_seq.phtml
如果您输入 5031601 作为蛋白质名称并输入 DRNAYVWTLKGRTWKPTLVILRI 作为序列,您将被重定向到结果站点。这是我希望能够用我的程序阅读的网站。 我对此进行了很多研究,但似乎找不到任何有用的解决方案。
谁能帮帮我?
编辑:
我尝试使用以下代码(改编自链接)创建网络请求:
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 时,它包含输入了蛋白质名称的原始表单站点。尚未输入序列(它是文本区域,而不是文本框)。而且还没有提交。我有什么遗漏或做错了吗?
已解决问题,方法是将请求发送到表单标签的 action 属性中指定的 uri (http://scansite.mit.edu/cgi-bin/motifscan_seq)。
【问题讨论】: