Что нового

Как создать запрос HTTP GET с телом?

vovsla

Осваивающий
Сообщения
553
Репутация
26
Есть запрос на PowerShell, который работает
Код:
$local:Body = [ordered] @{"api_key" = $APIKey; "req_time" = $Time; "sign" = $Signature}
$local:Result = Invoke-RestMethod -Method GET -URI $URL -Body $Body


Мне нужно этот запрос написать на автоите.
Запрос создаю так
Код:
$oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
$oHTTP.Open("GET", $URL, False)
$oHTTP.Send($Body)


Тело запроса пробовал создавать в виде строки, как описано здесь по аналогии со строкой
$sPD = 'name=Jacob&bench=150'

И пробовал создавать в виде словаря, как описано здесь
Так появляется ошибка отправки
Код:
$oDictionary = ObjCreate("Scripting.Dictionary")
$oDictionary.Add ("api_key", $APIKey)
$oDictionary.Add ("req_time",$Time)
$oDictionary.Add ("sign", $Signature)

$oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
$oHTTP.Open("GET", $URL, False)
$oHTTP.Send($Body)


На всякий случай пробовал отправить с заголовками
Но так получаю ответ от сервера, что нет параметра api_key
Код:
$oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
$oHTTP.Open("GET", $URL, False)
$oHTTP.SetRequestHeader("api_key", $APIKey)
$oHTTP.SetRequestHeader("req_time", $Time)
$oHTTP.SetRequestHeader("sign", $Signature)
$oHTTP.Send()


В документации к библиотеке WinHttp ничего не нашел про тело запроса
В документации по объекту WinHttpRequest нашел упоминание тела запроса только в параметре Send, но как я уже сказал у меня не получается в нем передать параметры.
Подскажите в чем дело, отправляю не так или не в том формате?
Куда копать дальше?
 
Верх