我创建了一个WebRequest
来将一些HTML内容发布到另一个Web服务器。当我使用普通文本内容时,它可以正常工作,但是当我发布HTML内容时,我在调用GetResponse()
时会出现超时错误。
WebResponse response = request.GetResponse()
我怎样才能找出问题所在?
我尝试为WebException
添加错误处理程序,但我无法捕获异常。
请求代码:
byte[] byteArray = Encoding.UTF8.GetBytes(sPostData);
// Create a request using a URL that can receive a post.
WebRequest request = WebRequest.Create(httpUri);
// Set the 'Timeout' property in Milliseconds.
//request.Timeout = 20000;
// Set the ContentType property of the WebRequest.
request.ContentType = contentType;
// Set the Method property of the request to POST.
request.Method = postMethod;
// Set the ContentLength property of the WebRequest.
request.ContentLength = byteArray.Length;
// Get the request stream.
using (Stream PostStream = request.GetRequestStream())
{
PostStream.Write(byteArray, 0, byteArray.Length);
}
// Get the response.
using (WebResponse response = request.GetResponse())
{
// Get the stream containing content returned by the server.
using (Stream responseStream = response.GetResponseStream())
{
using (StreamReader reader = new StreamReader(responseStream))
{
string responseFromServer = reader.ReadToEnd();
result = responseFromServer;
}
}
}
答案 0 :(得分:0)
您应该使用Fiddler或其他等效应用程序查看网络流量。这可能会显示服务器是否正在响应,或者可能是响应较晚。
您还应该查看服务器日志或Windows事件日志 - 可能服务器不喜欢发送HTML,并且正在记录错误。在这种情况下,它可能只是决定你试图破解它,它可能决定不回答你。