Vba-WEB не может авторизоваться с помощью httpbasic authenticator
Привет
Я пытаюсь использовать VBA-Web для отправки REST API через Excel VBA и сталкиваюсь с проблемами
GitHub - VBA-tools/VBA-Web: VBA-Web: подключение VBA, Excel, Access и Office для Windows и Mac к веб-службам и интернету[^]
Private Sub Worksheet_Activate() Dim Client As New WebClient Dim Request As New WebRequest Client.TimeoutMs = 30000 ' 30 seconds Client.BaseUrl = "https://postman-echo.com/basic-auth" 'Client.BaseUrl = "https://rest.reviso.com/customers?demo=true" Request.Format = WebFormat.Json Dim Auth As New HttpBasicAuthenticator Auth.Setup _ Username:="postman", _ Password:="password" Dim Response As WebResponse Set Response = Client.Execute(Request) If Response.StatusCode <> Ok Then Sheets("Test").Range("A1") = Response.StatusDescription Exit Sub End If Dim Json As Object Set Json = WebHelpers.ParseJson(Response.Content) FillData Json End Sub
Спасибо!
Что я уже пробовал:
Я попытался изменить этот пример, чтобы использовать HttpBasicAuthenticator, но безуспешно, он говорит об ошибке HTTP 401. Когда я использую почтальона, чтобы отправить запрос на отдых, это нормально.
АПИ-образцы/отдых/Excel на мастер · revisohq/АПИ-образцы · в GitHub[^]
Если я использую этот Url-адрес, то мне не нужно проходить аутентификацию. Он работает как и ожидалось
https://rest.reviso.com/customers?demo=true[^]
F-ES Sitecore
Использовать такой инструмент, как Fiddler, для просмотра сетевых вызовов. Сравните звонок, сделанный из вашего кода, с тем, который сделал мой почтальон, и найдите различия.
Member 10093180
Спасибо за ваш комментарий. Я попробовал использовать Fiddler, и сделанный запрос VBA не появился в отладчике. Где как почтальон делал. Какой-либо причине, почему?
F-ES Sitecore
Это может быть связано с настройками прокси-сервера, поскольку fiddler настраивает себя как прокси-сервер, а код VBA может игнорировать настройки прокси-сервера. Вместо этого вы можете использовать wireshark, который работает на сетевом уровне и захватывает все, что происходит через сетевой драйвер. Однако он не так удобен для пользователя, как fiddler.