2016-03-18 3 views
0

Post Entschuldigung für meine Ignoranz hier.Wie Payload auf URL mit cURL

Ich habe die folgende Nutzlast, die ich über cURL (Mac Bash) an eine URL senden muss.

{“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} 

Können Sie mit der Befehlssyntax helfen, das zu tun? Ich habe das versucht, aber es erzeugt seltsames HTML in Bash und ich verstehe nicht, was vor sich geht.

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 

Vielen Dank !!

+0

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

+0

Vielen Dank! Also fahre ich mit den param/value-Paaren fort. Was passiert bei einem Parameter, der mehr als einen Wert hat? Zum Beispiel hat requestid einen Wert ... Aber usercontext hat mehrere param/value-Paare. – amyyyyy

+0

Ich denke, das wäre nützlich: http://superuser.com/questions/149329/what-is-the-curl-command-line-syntax-to-do-a-post-request –

Antwort

1

Da Sie JSON-Daten POSTIEREN, müssen Sie auch den Inhaltstyp der Anforderung angeben.

Versuchen:

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 

Auch in Ihrer ursprünglichen Post, gibt es einige „fancy Anführungszeichen“, die mit normalen Anführungszeichen ersetzt werden sollte, für den Fall, dass das, was Sie versuchen, auf der Kommandozeile zu verwenden.