[英]Mixing JSON with normal data in cURL request in bash
我知道我可以用
curl --data "param1=value1¶m2=value2" http://hostname/resource
要么
curl --request POST https://$url?param1=value1¶m2=value2
但是,如果param1是value而param2是JSON,我該怎么辦?
如果我只是在其中扔JSON,即使使用變量,它也不起作用(tm)
$json='{"data":"value"}'
curl --request POST https://$url?param1=value1¶m2=$json
這有什么竅門? 請注意,我只能打一個電話。
謝謝!
好吧,如果我們逃避一切(使用python),則如下所示
>>> x
'{"data": "value"}'
>>> urllib.urlencode({'param1':'value1', 'param2':x})
'param2=%7B%22data%22%3A+%22value%22%7D¶m1=value1'
或者,使用curl選項
curl localhost:8080 --data-urlencode 'param1={"data":"value"}'
將發送到服務器
param1=%7B%22data%22%3A%22value%22%7D
您可能會注意到第一個版本有一個+,可能來自json編碼的空格,不確定它是否有效或是否可以刪除
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.