Web запросы через vba
Формулировка задачи:
Приветствую, комрады!
Обращаюсь к вам как относительный новичок в vba. Нет, я умею редактировать сделанные макросы, изменять готовый код и писать какие-то примитивы, но я не держу в памяти названия операторов и не знаю многих вещей.
Постановка задачи: есть некий web-ресурс, есть API для работы с этим ресурсом. Есть мануал, описывающий команды этого API. Вся сущность в итоге позволит мне дергать билинговые данные из своего личного кабинета.
Самый главный мой вопрос - синтаксис запросов. Как средствами VBA отправлять POST и GET запросы с нужными параметрами и как выгружать итоговые данные в таблицу.
Мне бы пример кода-какой-нибудь или, для начала, разжевать примитивную задачу - авторизоваться на ресурсе. Вот выдержка из документации:
Понимаю, что выгляжу глупо и, возможно, вызову ваш гнев, но, тем не менее, расчитываю на помощь.
Заранее спасибо!
_____________________
Обращаюсь к вам как относительный новичок в vba. Нет, я умею редактировать сделанные макросы, изменять готовый код и писать какие-то примитивы, но я не держу в памяти названия операторов и не знаю многих вещей.
Постановка задачи: есть некий web-ресурс, есть API для работы с этим ресурсом. Есть мануал, описывающий команды этого API. Вся сущность в итоге позволит мне дергать билинговые данные из своего личного кабинета.
Самый главный мой вопрос - синтаксис запросов. Как средствами VBA отправлять POST и GET запросы с нужными параметрами и как выгружать итоговые данные в таблицу.
Мне бы пример кода-какой-нибудь или, для начала, разжевать примитивную задачу - авторизоваться на ресурсе. Вот выдержка из документации:
Понимаю, что выгляжу глупо и, возможно, вызову ваш гнев, но, тем не менее, расчитываю на помощь.
Заранее спасибо!
_____________________
Решение задачи: «Web запросы через vba»
textual
Листинг программы
Function GetHTTPResponse(ByVal sURL As String) As String
On Error Resume Next
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")
With oXMLHTTP
.Open "POST", sURL, False, "логин_на_сайт", "пароль_на_сайт"
' настройки прокси
.setProxy 2, "ip_прокси:порт_прокси"
.setProxyCredentials "логин_прокси", "пароль_прокси"
.send
sHTMLBody = .responseBody
' Charset = UTF - 8
Debug.Print sHTMLBody
End With
For i = 0 To UBound(sHTMLBody)
GetHTTPResponse = GetHTTPResponse & ChrW(AscW(Chr(AscB(MidB(sHTMLBody, i + 1, 1)))))
Next
Pi.Hide
Set oXMLHTTP = Nothing
End Function