2016-12-16 15 views
0

C#コンソールアプリケーションからHttpWebRequestを使用してURLからダウンロードしたデータを取得しようとしています。ブラウザとPostmanでは、正常に動作しますが、アプリケーションからではありません。期待されるデータは返されません。 Fiddlerを使用して、リクエストを検査し、最初に送信されたリクエストが実際に3回リダイレクトされたことを知りました(最終的なHTTP 200レスポンスの前にFiddlerで3つのhttp 302が表示されます)。しかし、私のC#コンソールアプリケーションからは、最終的な応答しか得られません.HttpWebResponseステータスは常に「OK」(200)を返します。C#コンソールアプリケーションが中間リダイレクトを取得しない(http 302)

私は、http 302がいくつかのクッキーを返し、後続のリクエストがそのヘッダーにクッキーを送信することをフィドラーに気付きました。これはブラウザ/ postmanで正しく処理されますが、私は自分のアプリケーションでこれを行うことができません。どんな助力も高く評価されます。

HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url); 

Fiddler screenshot

答えて

2

私はあなたがHttpWebRequestクラスのAllowAutoRedirectプロパティを探していると信じています。

HttpWebRequest request = new HttpWebRequest(someUri); 
request.AllowAutoRedirect = false; 

あなたはHttpWebRequesthereについての詳細情報を読むことができます:falseに設定するとことを行う必要があります。

関連する問題