.NETでHttpWebRequestのを使用している場合、エラーメッセージを「あまりにも多くの自動リダイレクトが試みられました」

StackOverflow https://stackoverflow.com/questions/518181

質問

私は http://www.google.com/?q」などのページを要求しようとしていますvb.netでWebRequestクラスを使用して=ランダムを」。 私たちは、ファイアウォールの背後にあるので、我々は我々の要求を認証する必要があります。 私は自分の資格情報を追加することにより、認証部を過ぎて頂いております。 それが動作しますしかし、一度リダイレクトループに入るようです。

誰もがこれである理由のアイデア、コメント、suggetionsを持っていますか? 誰がこの問題を経験していますか?

Dim loHttp As HttpWebRequest =  CType(WebRequest.Create(_url), HttpWebRequest)
loHttp.Timeout = 10000
loHttp.Method = "GET"
loHttp.KeepAlive = True
loHttp.AllowAutoRedirect = True
loHttp.PreAuthenticate = True
Dim _cred1 As NetworkCredential = ... //this is setup
//snip out this stuff
loHttp.Credentials = _cc
loWebResponse = loHttp.GetResponse()
役に立ちましたか?

解決

あなたはクッキーコンテナを設定していることを確認します。

CookieContainer cookieContainer = new CookieContainer();
loHttp.CookieContainer = cookieContainer;

あなたはおそらくクッキーを保存していないとリダイレクトループに捕まるます。

他のヒント

loHttp.AllowAutoRedirect = true

これに代えて、あなたが使用する必要があります。

loHttp.AllowAutoRedirect = False

エラーにエラーを回避するには、

  

"あまりにも多くの自動リダイレクトが試みられた"

私はダリルはVBに提供するのC#を翻訳したGetResponseコールの前にそれを挿入します。

Dim cookieContainer As CookieContainer = New CookieContainer()
loHttp.CookieContainer = cookieContainer
loWebResponse = loHttp.GetResponse()

たぶん、あなたは個別応答から場所をキャッチアップし、適切なクッキーを使用することにより、各リダイレクトに処理することができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top