網頁

2021/7/14

cURL 發送POST請求及JSON資料

cURL命令發送POST請求及JSON資料的方式如下。


使用curl -X POST <url> -H 'content-type: application/json' -d <json>發送帶JSON資料的POST請求。參數說明如下:

  • -X - 即--request的縮寫,後接指定的HTTP method,例如GETPOST
  • <url> - 及發送請求的位址,例如"http://localhost:8080/emp/add"
  • -H - 即--header的縮寫,後接額外的HTTP header參數。
  • content-type: application/json表示要傳送的資料為JSON。
  • -d - 即--data的縮寫,用來設定POST請求的request body資料。
  • <json> - JSON資料。

例如下面POST請求的位址為http://localhost:8080/add
header參數為content-type: application/json
JSON資料為{"id": 1, "name": "john", "age": 33}
前兩行後面的\為斷行符號。

$ curl -X POST "http://localhost:8080/add" \
> -H 'content-type: application/json' \
> -d '{"id": 1, "name": "john", "age": 33}'


2 則留言:

  1. 你好:

    請問 curl 中的 "JSON資料" 如果是要發送任何 URL 地址是要如何寫入?
    因為會出現 "request url failed".

    回覆刪除
  2. 寫入方法即本篇所述,JSON資料可送到任何url。你的問題可能是該url解析你的請求時發生錯誤,可能沒有權限或是你的JSON缺乏必要的欄位。

    回覆刪除