2016-03-18 2 views
0

Извинения за мое невежество здесь.Как разместить полезную нагрузку по URL-адресу с помощью cURL

У меня есть следующая полезная нагрузка, которую мне нужно отправить URL через cURL (Mac Bash).

{“requestid":"2323423432", 
"partnermatchid":"56d576ee-2d74-4dda-b8ff-d71b34311dd2", 
"usercontext":{"ipaddressmasked":"209.252.7.186", 
"useragent":"mozilla/5.0 (windows nt 6.1; wow64) applewebkit/537.36  (khtml, like 
gecko) chrome/28.0.1500.95 safari/537.36", 
"country":"us"}, 
"pagecontext":{"pagetypeid":"3","numslots":"6"}, 
"istest":false} 

Помочь с синтаксисом команды сделать это? Я пробовал это, но он порождает странный HTML в Bash, и я не понимаю, что происходит.

echo ‘{“requestid":"2323423432", 
"partnermatchid":"56d576ee-2d74-4dda-b8ff-d71b34311dd2", 
"usercontext":{"ipaddressmasked":"209.252.7.186", 
"useragent":"mozilla/5.0 (windows nt 6.1; wow64) applewebkit/537.36   (khtml, like 
gecko) chrome/28.0.1500.95 safari/537.36", 
"country":"us"}, 
"pagecontext":{"pagetypeid":"3","numslots":"6"}, 
"istest":false}’ | curl —data-binary @- http://www.thisistheurl.com 

Большое спасибо!

+0

curl --data "param1 = value1 & param2 = value2" https://example.com/resource.cgi –

+0

Спасибо! Поэтому я продолжаю с парами param/value. Что происходит в случае параметра, который имеет более одного значения? Например, requestid имеет одно значение ... Но usercontext имеет несколько пар param/value внутри него. – amyyyyy

+0

Я думаю, что это было бы полезно: http://superuser.com/questions/149329/what-is-the-curl-command-line-syntax-to-do-a-post-request –

ответ

1

Поскольку вы используете POSTING JSON data, вам также необходимо указать тип содержимого запроса.

Try:

curl -d '{ "requestid": "2323423432", "partnermatchid": "56d576ee-2d74-4dda-b8ff-d71b34311dd2", "usercontext": {"ipaddressmasked": "209.252.7.186","useragent": "mozilla/5.0 (windows nt 6.1; wow64) applewebkit/537.36 (khtml, like gecko) chrome/28.0 .1500 .95 safari/537.36", "country": "us" }, "pagecontext": { "pagetypeid": "3", "numslots": "6" }, "istest": false }' \ 
-H "Content-Type: application/json" http://url 

Также в исходном посте, есть некоторые «фантазии кавычки», которые должны быть заменены нормальными кавычки, в случае, если это то, что вы пытаетесь использовать в командной строке.

Смежные вопросы