1
我有一个自定义的HTTP类,我为我的应用程序。这只是基本的,应用程序非常简单。无论如何,有时后方法将返回以下错误:处理远程服务器返回错误:(500)内部服务器错误
Handling The remote server returned an error: (500) Internal Server Error.
我的方法是
public String post(String url, String postData)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.UserAgent = this.userAgent;
request.KeepAlive = false;
request.ProtocolVersion = HttpVersion.Version10;
request.CookieContainer = this.cookieJar;
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
request.ContentLength = byteArray.Length;
Stream stream = request.GetRequestStream();
stream.Write(byteArray, 0, byteArray.Length);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
String source = reader.ReadToEnd();
return source;
}
我送更新我的Facebook状态的请求。大多数情况下它是有效的,而不是奇怪的情况并且抛出异常。
什么是捕获此异常的最佳方法,以便我可以重试请求?
调试该方法。如果你想解决这个问题,你需要异常消息和堆栈跟踪。添加一个try/catch并记录异常信息。 – Amy
艾米,我如何处理例外,但重试它?如果我抓住它,那么是什么?我是否再次重试?如果我想重试请求3次,该怎么办?我认为这只是Facebook服务器响应错误的一个问题,因为它的工作时间有99%。 –
你确定这里发生异常吗?只是因为'HttpWebResponse'包含一个'StatusCode',我在想这个错误更多的是对'StatusCode'不是'HttpStatusCode.OK'这一事实做出正确反应的错误... – fvu