2015-07-13 118 views
0

我想使用VB.net連接到使用HTTP基本認證的REST API。身份驗證成功,但隨後的請求仍然產生401 error,我錯過了什麼?使用HTTP基本認證連接到REST API

Dim Client As New WebClient 

    Client.Credentials = New NetworkCredential("user","password") 

    ' Works and authenticates 
    MsgBox(Client.DownloadString("http://site/api/login")) 

    ' Returns 401 
    MsgBox(Client.DownloadString("http://site/api/helloworld")) 

我要補充,如果我去/api/login和驗證在瀏覽器中,然後我就可以正確地要求/api/helloworld - 這樣的錯誤是客戶端。

+1

該網站可能發送一個*餅乾*您應該在後續的請求返回認證之後。看看http://stackoverflow.com/q/11118712/87698 – Heinzi

回答

0

試試這個:

Dim credentials As String = Convert.ToBase64String(Encoding.ASCII.GetBytes("user" & ":" & "password")) 
Client.Headers(HttpRequestHeader.Authorization) = String.Format("Basic {0}", credentials)