2016-03-18 37 views
0

ここで私の知らないことにお詫び申し上げます。cURLを使用してペイロードをURLに送信する方法

私は、cURL(Mac Bash)経由でURLに送信する必要のあるペイロードを持っています。

{“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を生成しています。何が起こっているのか分かりません。

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には1つの値がありますが、usercontextには複数のparam/valueペアがあります。 – amyyyyy

+0

これは便利だと思います: http://superuser.com/questions/149329/what-is-the-curl-command-line-syntax-to-do-a-post-request –

答えて

1

JSONデータをポストしているので、リクエストのコンテンツタイプも指定する必要があります。

試してみてください。あなたのオリジナルのポストでも

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 

、コマンドラインで使用しようとしているものだ場合には、通常の引用符に置き換える必要がありますいくつかの「空想の引用符」があります。

関連する問題