У меня есть макрос Excel VBA, который выполняет эквивалент следующего HTTP POST, который успешно работает:
Set WebClient = CreateObject("WinHttp.WinHttpRequest.5.1")
' ... Configure WebClient for a POST request
RequestBody = "<request>"
WebClient.send RequestBody
Ранее я явно устанавливал тип RequestBody в виде строки, как показано ниже:
Set WebClient = CreateObject("WinHttp.WinHttpRequest.5.1")
' ... Configure WebClient for a POST request
Dim RequestBody As String
RequestBody = "<request>"
WebClient.send RequestBody
Похоже, что это работает правильно, за исключением того, что сервер не получил содержимое запроса.
При отладке в обеих версиях часы на RequestBody описывали его тип как «Variant / String», и содержимое было правильным.
Почему добавление типа вызывает эту проблему?