【问题标题】:How do I get the HTTP response from a navigation to a page?如何从导航到页面获取 HTTP 响应?
【发布时间】:2012-04-06 13:03:29
【问题描述】:

我有一个场景是我导航到一个测试站点,但由于某种原因(连接问题等),有时测试会因为无法访问该网站而失败。如何请求 HTTP 标头?很明显,我正在检查它是否是 404,但我之前没有处理过标头。

选择的语言是 C#,但我是开放的。

感谢收看。

【问题讨论】:

标签: c# http http-headers http-status-code-404


【解决方案1】:

创建一个HttpRequest(为简洁起见,我没有显示代码),然后设置HttpMethod = "HEAD",当您调用GetResponse 方法时执行类似的操作

try{
    req.GetResponse();
} catch(WebException ex) {
    if (ex.Response != null)
        //Server explicit problem (ie. 404)
    else
        //Network problem: server wasn't even hit
}

【讨论】:

    【解决方案2】:

    FiddlerCore。它允许您监控/修改应用程序的 HTTP 流量。这是如果您使用的是浏览器。

    如果你想检查网站的状态,你总是可以在浏览器导航之前发送一个 HTTP Head 请求。

    【讨论】:

    • 我用过 Fiddler,非常棒。话虽如此,我的解决方案需要是程序化的。
    【解决方案3】:

    在重定向到页面之前尝试发送基本的 HTTP 请求。只需检查网站是否返回 200OK 响应,然后重定向。希望这个例子有帮助:http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.getresponse%28v=vs.71%29.aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多