(HttpWebResponse)request.GetResponse()方法返回错误页的状态代码200,而不是状态代码400。
Url是
http://onlinehelp.microsoft.com/zh-cht/office365-smallbusinesses/hh911992.aspx
当我们在浏览器中打开上面的url时,它会显示错误页面,并显示消息“很抱歉!我们无法为您的请求提供服务。”
但是从webresponse返回的状态码是200。
我为它编写的代码是
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(loclink);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
code = (int)response.StatusCode; 请帮我跟踪这种类型的网址?
发布于 2012-08-02 15:18:59
老实说,这感觉不对。我也去过那里,也同样感到困惑。
这是一个所谓的“软错误页面”。这是因为when服务器在遇到错误时会将您重定向到该页面,而不是传输实际的错误页面。
发布于 2012-08-02 15:14:24
似乎此服务器不强制错误页面的状态代码,因此您可以尝试检查此页面是否包含特殊元素/单词。
发布于 2012-08-02 15:52:51
在尝试验证我们其中一个站点的安全指标问题时,我遇到了这个问题。
你得到200而不是400的原因是因为服务器正在优雅地处理错误,而不是向你显示实际的错误页面,它会捕获它并将你重定向到一个友好的“发生意外错误”页面,该页面显然会显示200响应。
要获得实际的错误代码,您可以尝试通过以下方式请求Telnet中的页面:
GET /zh-cht/office365-smallbusinesses/hh911992.aspx
https://stackoverflow.com/questions/11772579
复制相似问题