curl 傳送 POST 請求的四種方式

正在攀登的小蝸牛發表於2020-11-18

使用 curl 傳送 POST 請求的四種方式:

application/x-www-form-urlencoded

使用例項

$ curl localhost:3000/api/basic -X POST -d 'hello=world'

multipart/form-data

這種請求一般涉及到檔案上傳。後端對這種型別請求的處理也複雜一些。
使用例項:

$ curl localhost:3000/api/multipart -F raw=@raw.data -F hello=world

application/json

使用例項:

$ curl localhost:3000/api/json -X POST -d '{"hello": "world"}' --header "Content-Type: application/json"
跟發起 application/x-www-form-urlencoded 型別的 POST 請求類似,-d 引數值是 JSON 字串,並且多了一個 Content-Type: application/json 指定傳送內容的格式。

把檔案內容作為要提交的資料

可以把資料內容先寫到檔案裡,通過 -d @filename 的方式來提交資料。這是 -d 引數的一種使用方式, 前面用到 -d 引數的地方都可以這樣用。

使用例項

有一個 JSON 檔案 data.json 內容如下:

 
{
    "hello": "world",
    "xxx": "yyy",
    "a": ["ooo", "mmm"]
}
 
就可以通過

$ curl localhost:3000/api/json -X POST -d @data.json --header "Content-Type: application/json"
來提交資料。

相關文章