1
我想這樣做以下:如何通過cURL在URL中傳遞JSON?
curl localhost:8080/myapp/?params={"first_key":"I'm the first value","second_key":"the second value"}
這是工作非常正常,當我試圖通過瀏覽器訪問網頁,但它不通過捲曲工作。我究竟做錯了什麼?
我想這樣做以下:如何通過cURL在URL中傳遞JSON?
curl localhost:8080/myapp/?params={"first_key":"I'm the first value","second_key":"the second value"}
這是工作非常正常,當我試圖通過瀏覽器訪問網頁,但它不通過捲曲工作。我究竟做錯了什麼?
的問題是由捲曲的「URL通配符分析器」引起的(見docs):
您可以通過編寫括號內部分設置在指定多個URL或URL的一部分:
HTTP :// {一,二,三} .COM
所以你的命令被擴展爲:
curl localhost:8080/myapp/?params="first_key":"I'm the first value"
curl localhost:8080/myapp/?params="second_key":"the second value"
您需要使用-g
選項(或--globoff
):
此選項關閉了 「URL通配符分析器」。設置此選項時,您可以指定包含字母{} []的網址,而不會讓它們被捲曲本身解釋。
所以:
curl -g localhost:8080/myapp/?params={"first_key":"I'm the first value","second_key":"the second value"}
然後,保留雙引號,你需要用的網址用單引號:
curl -g 'localhost:8080/myapp/?params={"first_key":"I'\''m the first value","second_key":"the second value"}'