Я бы хотел, чтобы моя программа имела доступ к веб-сайту, который обрабатывает ввод строки и возвращает некоторую информацию о нем.Я хочу ввести две последовательности, отправить их и прочитать результат через программу.Веб-сайт выглядит следующим образом:
http://scansite.mit.edu/motifscan_seq.phtml
Если вы введете скажем 5031601 в качестве имени белка и DRNAYVWTLKGRTWKPTLVILRI в качестве последовательности, вы будете перенаправлены на сайт результатов.Это сайт, который я хочу читать с моей программой.Я много исследовал эту тему, но не могу найти никакого полезного решения.
Может кто-нибудь помочь мне?
РЕДАКТИРОВАТЬ:
Iпопытался создать веб-запрос со следующим кодом (адаптировано по ссылке):
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, он содержит оригинальный сайт формы с введенным именем белка.Последовательность не была введена (это текстовое поле, а не текстовое поле).И это не было представлено.Я что-то упускаю или делаю не так?
Устранена проблема путем отправки запроса в адрес URI, указанный в атрибуте действия тега формы (http://scansite.mit.edu/cgi-bin/motifscan_seq).