J'accède à un service Web REST à partir d'une application VB. Je crée un objet HttpWebResponse et j'appelle GetRequestStream dessus très bien, mais quand j'appelle GetResponse, j'obtiens une exception 401.Traitement de l'authentification avec HttpWebRequest (.NET)
Voici mon code (modifié pour l'affichage):
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)
je reçois un 401 exception, dès que je l'appelle "webRequest.GetResponse()". Il y a un en-tête "WWW-Authenticate" dans la réponse, avec le domaine approprié. J'ai essayé de définir "webRequest.PreAuthenticate = True", ainsi que de définir manuellement l'en-tête avec "webRequest.Headers.Add (HttpRequestHeader.Authorization, _authheader)"
Je ne peux pas sembler surveiller ces demandes avec Fiddler/Wireshark etc. parce que c'est le trafic SSL, je suis sûr qu'il y a un moyen de le surveiller, je ne l'ai pas encore trouvé.
Merci à l'avance,
--Connor
Merci pour le conseil –