Я получаю доступ к веб-сервису REST из приложения VB. Я создаю объект HttpWebResponse и вызываю GetRequestStream на нем просто отлично, но когда я вызываю GetResponse, я получаю исключение 401.Обработка аутентификации с помощью HttpWebRequest (.NET)
Вот мой код (модифицирован для размещения):
Dim webRequest = DirectCast(WebRequest.Create(endpoint), HttpWebRequest)
webRequest.Method = "POST"
webRequest.ContentLength = contentLength
webRequest.ContentType = "application/x-www-form-urlencoded"
request.Credentials = New NetworkCredential(Username, Password)
' Works fine
Using stream As Stream = webRequest.GetRequestStream()
stream.Write(data, 0, data.Length)
End Using
' Barfs
Dim response As HttpWebResponse = DirectCast(webRequest.GetResponse(), HttpWebResponse)
я получаю 401 исключение, как только я называю "webRequest.GetResponse()". В ответе есть заголовок «WWW-Authenticate» с соответствующей сферой. Я попытался установить «webRequest.PreAuthenticate = True», а также вручную настроить заголовок с помощью «webRequest.Headers.Add (HttpRequestHeader.Authorization, _authheader)»
Я не могу отслеживать эти запросы с помощью Fiddler/Wireshark и т. д., потому что это трафик SSL, я уверен, что есть способ контролировать его, я его еще не нашел.
Спасибо заранее,
--Connor
Спасибо за подсказку –