1

我创建了一个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;
        }
    }
}
4

1 回答 1

0

您应该使用Fiddler或其他等效应用程序查看网络流量。这可能会向您显示服务器是否完全响应,或者它是否响应较晚。

您还应该查看服务器日志或 Windows 事件日志 - 也许服务器不喜欢发送 HTML,并且正在记录错误。在这种情况下,它可能会简单地决定您正在尝试破解它,并且可能决定根本不回答您。

于 2011-04-20T01:33:52.657 回答