сообщение об ошибке "слишком много попыток автоматического перенаправления" при использовании 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()
возможно, вы можете индивидуально обрабатывать каждое перенаправление, догоняя местоположение из ответа и использовать подходящие куки.