【问题标题】:Detecting 302 Redirect检测 302 重定向
【发布时间】:2011-09-25 00:06:26
【问题描述】:

我正在尝试检查 url 的重定向位置,但总是得到错误的结果。例如,对于 url http://www.yellowpages.com.eg/Mjg3NF9VUkxfMTEwX2h0dHA6Ly93d3cubG90dXMtYWlyLmNvbV8=/Lotus-Air/profile.html,它重定向到 http://www.lotus-air.com,重定向类型为 302 Found(您可以在此服务 http://www.internetofficer.com/seo-tool/redirect-check/ 上测试它),但是我得到“http://mobile.yellowpages.com .eg/" 作为 webResp.GetResponseHeader("Location") 。我的代码如下:

        string url = @"http://www.yellowpages.com.eg/Mjg3NF9VUkxfMTEwX2h0dHA6Ly93d3cubG90dXMtYWlyLmNvbV8=/Lotus-Air/profile.html";


        HttpWebRequest webReq = WebRequest.Create(url) as HttpWebRequest;
        webReq.Method = "HEAD";
        webReq.AllowAutoRedirect = false;
        HttpWebResponse webResp = webReq.GetResponse() as HttpWebResponse;
        txtOutput.Text += webResp.StatusCode.ToString() + "\r\n" ;
        txtOutput.Text += webResp.GetResponseHeader("Location") + "\r\n";
        txtOutput.Text += webResp.ResponseUri.ToString();

        webResp.Close();

谢谢。

是啊

【问题讨论】:

    标签: c# url redirect response.redirect


    【解决方案1】:

    他们可能会根据用户代理发送不同的重定向,因此您会在浏览器中获得一个结果,而在代码中获得另一个结果。

    【讨论】:

      【解决方案2】:

      您可以使用 HTTP 调试代理来了解来回移动的标头,并使您能够更改用户代理以帮助测试 Ben 的理论(我 +1 了)。

      一个好的是Fiddler - Web Debugging Proxy免费且易于使用/

      下面的屏幕截图显示我将用户代理更改为旧的 IEMobile 一个“Mozilla/4.0(兼容;MSIE 6.0;Windows CE;IEMobile 6.12;en-US;KIN.Two 1.0)”,它将我重定向到 mobile.yellowpages .com.eg

      n.b.更改为 ipad 用户代理会将您带到 iphone.yellowpages.com.eg

      【讨论】:

      • +1 我同意 fiddler 是这种调试的绝佳工具
      • 谢谢@Ben,我完全同意。 ol'fiddler 是必不可少的工具,我想我必须每天都使用它。只是让我思考,为了表示我的支持,我只是在谷歌 +1 提琴手! :-)
      【解决方案3】:

      正如 Ben 指出的,它基于用户代理进行重定向。只需添加一些用户代理(这是用于 chrome 的):

      webReq.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.A.B.C Safari/525.13";
      

      对我来说,它重定向到http://www.lotus-air.com

      【讨论】:

        猜你喜欢
        • 2017-09-20
        • 1970-01-01
        • 2014-11-10
        • 2015-11-30
        • 2020-08-28
        • 1970-01-01
        • 2019-04-12
        • 1970-01-01
        • 2016-02-11
        相关资源
        最近更新 更多