сообщение об ошибке "слишком много попыток автоматического перенаправления" при использовании httpWebRequest in.NET

Я пытаюсь запросить страницу типа"http://www.google.com/?q=random " использование класса webrequest в vb.net - ... мы находимся за брандмауэром, поэтому мы должны аутентифицировать наши запросы. Я прошел часть аутентификации, добавив свои учетные данные. Но как только это работает, кажется, что он переходит в цикл перенаправления.

есть ли у кого-нибудь идеи, комментарии, предложения, почему это так? Кто-нибудь еще испытывал эту проблему?

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()

4 ответов


убедитесь, что у вас есть настройка контейнера cookie.

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

вероятно, вы не сохраняете куки и попадаете в цикл перенаправления.


loHttp.AllowAutoRedirect = true

вместо этого, вы должны использовать

loHttp.AllowAutoRedirect = False

чтобы избежать ошибки ошибки

"СЛИШКОМ МНОГО ПОПЫТОК АВТОМАТИЧЕСКОГО ПЕРЕНАПРАВЛЕНИЯ"


Я перевел C#, который Даррил предоставил VB и вставил его перед вызовом getResponse.

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

возможно, вы можете индивидуально обрабатывать каждое перенаправление, догоняя местоположение из ответа и использовать подходящие куки.