2015-07-13 4 views
0

Я пытаюсь использовать VB.net для подключения к REST API с использованием базовой аутентификации HTTP. Аутентификация завершается успешно, но последующие запросы по-прежнему дают 401 error, что мне не хватает?Подключение к API REST с использованием базовой аутентификации HTTP

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) 
Смежные вопросы