Выполните сообщение HTTP из Excel и проанализируйте результаты

Я использую интервал, если Microsoft изменяет реализацию по умолчанию для целого числа к некоторой новой fangled версии (давайте назовем его Int32b).

Microsoft может тогда изменить международный псевдоним на Int32b, и я не должен изменять ни один свой код для использования в своих интересах их нового (и надо надеяться улучшенный) целочисленная реализация.

то же идет для любого из ключевых слов типа.

10
задан Community 9 July 2018 в 18:41
поделиться

3 ответа

С помощью этого кода VBA можно обрабатывать сторону запроса Excel.

Sub GetStuff()

Dim objXML As Object
Dim strData As String
Dim strResponse As String

 strData = "Request"
 Set objXML = CreateObject("MSXML2.XMLHTTP")

 objXML.Open "POST", "www.example.com/api?" & strData, False
 objXML.Send
 strResponse = objXML.responsetext

MsgBox strResponse

End Sub
7
ответ дан 3 December 2019 в 19:33
поделиться

Если вам нужно отправить ваш входной xml в качестве тела сообщения вот как вы можете это сделать. Вам может потребоваться добавить больше или изменить заголовки запроса, чтобы заставить его работать на вас.

Использование объекта DOMDocument упрощает работу с вашими XML-документами.

Добавьте ссылки на проект в;

  • Microsoft WinHTTP Службы, версия 5.1
  • Microsoft XML, v6.0

Пример:

Dim xmlInput As String
xmlInput = "<YourXmlRequest></YourXmlPayload>"

Dim oXmlHttp As MSXML2.XMLHTTP60
Set oXmlHttp = New MSXML2.XMLHTTP60

oXmlHttp.Open "POST", serviceURL, False, "UserName", "Password"
oXmlHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
oXmlHttp.setRequestHeader "Connection", "Keep-Alive"
oXmlHttp.setRequestHeader "Accept-Language", "en"

oXmlHttp.send xmlInput

Debug.Print oXmlHttp.responseText

Dim oXmlReturn As MSXML2.DOMDocument60
Set oXmlReturn = New MSXML2.DOMDocument60
oXmlReturn.loadXML oXmlHttp.responseText
8
ответ дан 3 December 2019 в 19:33
поделиться

Вот что я в итоге использовал:

Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
objHTTP.Open "POST", urlPath, False
objHTTP.setRequestHeader "Content-Type", "text/xml"
objHTTP.send (request)
3
ответ дан 3 December 2019 в 19:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: