C # HttpWebRequest возвращает 500 внутренняя ошибка - PullRequest
1 голос
/ 23 ноября 2011

Я хотел бы знать, почему мой запрос HTTP возвратил внутреннюю ошибку сервера 500.

Я использую этот код C #

HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://svabyss.66ghz.com/getmsg.php");
req.ContentLength = ("receiver=" + b.ToString() + "&PHPSESSID=" + _SESSIONID).Length;
req.ContentType = "application/x-www-form-urlencoded";
req.Method = "POST";
req.KeepAlive = true;
req.CookieContainer = new CookieContainer();
req.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13";
req.Headers[HttpRequestHeader.Pragma] = "cache";
req.UseDefaultCredentials = true;
req.Credentials = CredentialCache.DefaultNetworkCredentials;
req.PreAuthenticate = true;
req.Proxy = new WebProxy("http://svabyss.66ghz.com:80", true);
StreamWriter writer = new StreamWriter(req.GetRequestStream());
writer.Write("receiver=" + b.ToString() + "&PHPSESSID=" + _SESSIONID);
writer.Flush();
writer.Dispose();
try
{
    HttpWebResponse response = (HttpWebResponse)req.GetResponse();
    StreamReader reader = new StreamReader(response.GetResponseStream());
    OperationCompleted(new SVWorkerEventArgs("GET|" + b.ToString(), reader.ReadToEnd()));
    response.Close();
    reader.Dispose();
}
catch (WebException ex)
{
    StreamReader str = new StreamReader(ex.Response.GetResponseStream());
    string err = str.ReadToEnd();
}

Я не знаю, какой заголовок я пропустил.ЛЮБАЯ справка была бы отличной!

спасибо ..

ИСПРАВЛЕНО ПРОБЛЕМА

Я получил ответ через сообщение об ошибке, возвращенное сервером.Сообщение об ошибке на самом деле является результатом, который я хочу.

Теперь, мне все равно, что сервер отвечает мне.Независимо от того, 404 или 505, возвращается сообщение об ошибке, что я хочу ..

Спасибо, ребята:)

Ответы [ 2 ]

1 голос
/ 23 ноября 2011

Я предлагаю вам сделать запрос с помощью браузера во время работы Fiddler: http://www.fiddler2.com/fiddler2/

Посмотрите на используемый там заголовок.

1 голос
/ 23 ноября 2011

Код ошибки 500 возвращается, поскольку на сервере (не на вашем клиенте) произошла внутренняя ошибка. Чтобы узнать, в чем заключается ошибка, вам потребуется доступ к журналам сервера или спросить кого-то, у кого есть доступ.

вполне возможно , что ошибка вызвана чем-то в вашем коде, но, не зная, что это за ошибка на другом конце, вы не можете быть уверены. С таким же успехом это может быть что-то в их коде или соединение с их базой данных и т. Д.

...