除了用 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 | curl -X POST -H "Content-Type: application/json" \ |
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 |