1

(HttpWebResponse)request.GetResponse() 方法返回错误页面的状态码 200 而不是状态码 400。

网址是

http://onlinehelp.microsoft.com/zh-cht/office365-smallbusinesses/hh911992.aspx

当我们在浏览器中打开上述网址时,它会显示错误页面,并显示“抱歉!我们无法满足您的请求。”

但是从 webresponse 返回的状态码是 200。

我为它编写的代码是

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(loclink);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
code = (int)response.StatusCode; 

请帮我跟踪这种类型的网址?

4

3 回答 3

1

老实说,感觉不对。我也去过那里,同样感到困惑。

这是一个所谓的“软错误页面”。这是因为网络服务器在遇到错误时会将您重定向到该页面,而不是传输实际的错误页面。

于 2012-08-02T07:18:58.973 回答
0

在尝试验证我们的一个站点的安全指标问题时,我遇到了这个问题。

您收到 200 响应而不是 400 的原因是因为服务器正在优雅地处理错误,而不是向您显示实际的错误页面,它正在捕获它并将您重定向到友好的“发生意外错误”页面显然会显示 200 响应。

要获取实际的错误代码,您可以尝试通过以下方式在Telnet中请求页面:

GET /zh-cht/office365-smallbusinesses/hh911992.aspx

于 2012-08-02T07:52:50.713 回答
0

似乎此服务器不强制错误页面的状态代码,因此您可以尝试检查此页面是否包含特殊元素/单词。

于 2012-08-02T07:14:24.010 回答