Я пытался понять это сам, но не могу найти какое-либо полезное решение. Я хочу отправить запрос на сайт и получить обработанные результаты. У меня уже была проблема с этим (см. Как мне заполнить форму веб-сайта и получить результат в C #? ), но я смог решить ее с указанным там веб-сайтом. Сейчас я пытаюсь получить доступ к еще одному веб-сайту (http://motif -x.med.harvard.edu / motif-x.html ) со следующим кодом:
ServicePointManager.Expect100Continue = false;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://motif-x.med.harvard.edu/cgi-bin/multimotif-x.pl");
request.Credentials = CredentialCache.DefaultCredentials;
request.ProtocolVersion = HttpVersion.Version10; // Motif-X uses HTTP 1.0
request.KeepAlive = false;
request.Method = "POST";
string motives = "SGSLDSELSVSPKRNSISRTH";
string postData = "fgdata=" + motives + "&fgcentralres=S&width=21";
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
request.ContentType = "multipart/form-data";
request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
WebResponse response = request.GetResponse();
Это дает мне следующее исключение:
Удаленный сервер возвратил ошибку: (500) Внутренняя ошибка сервера.
Есть ли что-нибудь, что вы можете сделать, чтобы предотвратить это?
В случае, если вы хотите вручную сделать вход на сайт:
Текстовая область для набора данных: SGSLDSELSVSPKRNSISRTH
Центральный символ (в основных вариантах): S
Вы будете перенаправлены на сайт результатов - и обработка может занять некоторое время. Может ли это быть причиной исключения?