Обнаружение 302 перенаправления - PullRequest
0 голосов
/ 29 июня 2011

Я пытаюсь проверить местоположение перенаправления URL-адреса, но всегда получаю неправильные результаты.Например, для URL http://www.yellowpages.com.eg/Mjg3NF9VUkxfMTEwX2h0dHA6Ly93d3cubG90dXMtYWlyLmNvbV8=/Lotus-Air/profile.html, он перенаправляется на http://www.lotus -air.com с типом перенаправления 302 Найдено (вы можете проверить его на этой службе 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();

Спасибо.

Yehia

Ответы [ 3 ]

3 голосов
/ 29 июня 2011

Они, вероятно, отправляют различные перенаправления в зависимости от пользовательского агента, поэтому вы получаете один результат в браузере, а другой - в своем коде.

2 голосов
/ 29 июня 2011

Вы можете использовать прокси-сервер отладки HTTP, чтобы получить представление о заголовках, перемещающихся вперед и назад, и дать вам возможность изменить свой пользовательский агент, чтобы помочь проверить теорию Бена (я + 1).

Хорошим является Fiddler - веб-отладочный прокси , бесплатный и простой в использовании /

На снимке экрана ниже показано, как я изменяю пользовательский агент на старый IEMobile one "Mozilla / 4.0 (совместимый; MSIE 6.0); Windows CE; IEMobile 6.12; en-US; KIN.Two 1.0) ", который перенаправляет меня на mobile.yellowpages.com.eg

nb, переходя на пользовательское приложение ipad, переводит вас на iphone.yellowpages.com.например,

Switching the user agent to one of a mobile phone, redirects you to mobile.yellowpages.com.eg

1 голос
/ 29 июня 2011

Как отметил Бен, он перенаправляет на основе пользовательского агента.Просто добавьте некоторый пользовательский агент (это для 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 .

...