curl 的使用方法

除了用 JavaScript 的方式以外,也可以用 Terminal 來發 request,另外也筆記一下 curl 指令的一些用法。

curl 的基本格式

基本上都是以這個格式:curl -H -X GET [options] [URL] 來發出 request。

  • -H --header => 寫 header 相關的資訊
  • -X --request => 要使用 HTTP 的哪個方法,預設是 GET
  • -d --data => [options] 的其中之一,代表要發出 content-type: application/x-www-form-urlencoded 的 POST 請求
  • -F --form => [options] 的其中之一,代表要送出 content-type: multipart/form-data 的 POST 請求

接下來會以 reqres 這個 API 來做點示範。

GET

1
curl -X GET https://reqres.in/api/users/2

預設就是 GET,所以省略 -X GET 也可以。

POST

發出 content-type: application/x-www-form-urlencoded 的請求:

1
curl -X POST -d 'name=PeaNu' -d 'job=F2E' https://reqres.in/api/users/2

發出 content-type: multipart/form-data 的請求:

1
curl -X POST -F 'name=PeaNu' -F 'job=F2E' https://reqres.in/api/users/2

-X POST 可以省略,因為有帶 -d-F 參數就能直接知道是一個 POST 請求

如果要傳遞 JSON 格式的資料可以這樣做:

1
curl -H "Content-Type: application/json" -X POST -d '{"name": "PeaNu", "job": "F2E"}' https://reqres.in/api/users/2

如果想寫成換行的形式可以加上 \

1
2
3
curl -X POST -H "Content-Type: application/json" \
-data {"name": "PeaNu", "job": "F2E"} \
https://reqres.in/api/users/2

DELETE

1
curl -i -X DELETE https://reqres.in/api/users/2

加上 -i 才可以看到回應的 header

PATCH

1
curl -X PATCH -F 'name=PeaNu' -F 'job=F2E' https://reqres.in/api/users/2
建立一個最基本的 http-server 在 Node 指令中帶入參數
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×