curl是一款常用的命令行工具,可以用來發(fā)送HTTP請(qǐng)求。當(dāng)我們需要向服務(wù)器發(fā)送一個(gè)json數(shù)據(jù)時(shí),使用curl的POST方法,需要注意空格問題。
curl -X POST \ -H "Content-Type: application/json" \ -d '{"name": "apple", "price": 1.99}' \ https://www.example.com/api/products
在上面的命令中,我們使用了"-d"參數(shù)來指定發(fā)送的json數(shù)據(jù)。注意到j(luò)son數(shù)據(jù)中包含了空格,如果我們直接將json數(shù)據(jù)寫在命令行中,可能會(huì)遇到以下的錯(cuò)誤提示:
curl: (6) Could not resolve host: price curl: (6) Could not resolve host: 1.99}
這個(gè)錯(cuò)誤提示表明,curl并沒有正確解析json數(shù)據(jù)中的空格。解決這個(gè)問題的方法是使用單引號(hào)把整個(gè)json數(shù)據(jù)包裹起來,這樣空格就不會(huì)被解析成參數(shù)的分隔符。
curl -X POST \ -H "Content-Type: application/json" \ -d '{"name":"apple","price":1.99}' \ https://www.example.com/api/products
在實(shí)際使用curl發(fā)送json數(shù)據(jù)時(shí),我們也可以使用一些工具來生成json數(shù)據(jù)并將空格自動(dòng)處理好,例如在線的json格式化工具或者jq命令。