我正在尝试检查网址的重定向位置,但总是得到错误的结果。例如,对于网址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/“as 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();
感谢。
叶海亚
答案 0 :(得分:3)
他们可能会根据用户代理发送不同的重定向,因此您可以在浏览器中获得一个结果,在代码中获得另一个结果。
答案 1 :(得分:2)
您可以使用HTTP调试代理来了解来回移动的标题,并使您能够更改用户代理以帮助测试Ben的理论(I + 1)。
一个好的Fiddler - Web Debugging Proxy免费且易于使用/
下面的截图显示我将useragent更改为旧的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 useragent会将您带到iphone.yellowpages.com.eg
答案 2 :(得分:1)
正如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。