2011-06-29 21 views
0

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")。私のコードは次のとおりです:302リダイレクトの検出

 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

答えて

1

をiphone.yellowpages.com.egが表示されますベンが指摘したように、それはユーザエージェントに基づいてリダイレクトします。ただ、(この1つはクロムのためである)一部のユーザーエージェントを追加します。私にとって

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にリダイレクトします。

3

おそらく彼らは、ユーザーエージェントに基づいて異なるリダイレクトを送信しているので、あなたは、ブラウザで結果を1つ取得し、あなたのコード内の別の。

2

HTTPデバッグプロキシを使用して、前後に移動するヘッダーの理解を得ることができ、ユーザーエージェントを変更してBenの理論をテストすることができます(I + 1'd)。

良いものはFiddler - Web Debugging Proxy/

を自由に使用すると簡単に以下のスクリーンショット私は古いIEMobileにユーザーエージェントを変更することを示し1「のMozilla/4.0(互換性のある; MSIE 6.0; Windows CEの; IEMobile 6.12;エンUS; KIN.Two 1.0)」、私をmobile.yellowpages.com.egにリダイレクトする

nb iPadユーザーエージェントに変更すると

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

+2

+1私はフィドラーがこの種のデバッグのための素晴らしいツールだと同意します –

+0

ありがとう@Ben、私は全く同意します。 ol'fiddlerは不可欠なツールですが、私は毎日それを使用しなければならないと思います。ちょうど私の考えを、私のサポートを示すために得た私はちょうどGoogleのバイリンダを+1した! :-) –

関連する問題