Войти

Показать полную графическую версию : Запрос json методом POST


LaFleur
20-09-2018, 18:32
Добрый вечер.
Помогите пожалуйста отправить через запрос json методом POST такого вида:

{
"jsonrpc": "2.0",
"method": "SppAPI.Requisites",
"params": { "inn": "7712040126", "ogrn": null },
"protocol": 4, "id": 0
}

Заголовки:
Content-Type: application/json, charset=UTF-8
cookie: sid=00000000-00000000-0000-0000000000000000
user-agent: Python-urllib/3.3

Я пробовал так:

$JSON = @'
{
"jsonrpc":"2.0",
"method":"SppAPI.Requisites",
"params":{"inn": "7712040126", "ogrn": null},
"protocol":4,
"id":0}
'@

Invoke-RestMethod -Method POST https://api-test/test/ -Body $JSON -ContentType "application/json, charset=UTF-8", "cookie: sid=00000000-00000000-0000-0000000000000000", "user-agent: Python-urllib/3.3"

Первое не работает -ContentType с тремя заголовками. Я пробовал разными массивами, но ничего. С одним заголовком "cookie" он должен работать, хоть и в неправильной кодировке. Вот только он не работает даже с одним заголовком, что-то ещё не хватает скрипту.
Вывод должен быть таким:
{
"Tags": {
"TaxSystem": "ОСНО"
},
"Inspections": {
"Items": [
{
"Term": "ноябрь, 20 раб.дн., 0 раб.ч.",
"Reason": "Федеральный государственный пожарный надзор, Федеральный закон от 21.12.1994 г. № 69 - ФЗ \"О пожарной безопасности\"",
"ControlAuthority": "отделения надзорной деятельности и профилактической работы Центрального района отдела надзорной деятельности и профилактической работы управления по г. Сочи"........

Kazun
20-09-2018, 19:02
Укажите параметром -Headers:

-Headers @{
"Content-Type" = "application/json, charset=UTF-8"
"cookie" = "sid=00000000-00000000-0000-0000000000000000"
"user-agent" = "Python-urllib/3.3"
}

Для диагностики скачать Fiddler и смотреть, правильно ли формируется запрос - https://www.telerik.com/fiddler

LaFleur
20-09-2018, 20:05
Kazun, Спасибо, буду пробовать.
А так запрос правильный, через Linux и php работает, тут капризы в PowerShell.




© OSzone.net 2001-2012