iT邦幫忙

2023 iThome 鐵人賽

DAY 7
0

使用 curl 打 api 簡例

根據 "cURL, curl, CURL 到底誰是誰? " 一文中,提到用 curl 在終端機的環境打 API,本文簡介 curl 常用的指令,使用的 URL 則使用 [stream] 怎麼從程式內部 call api? 一文中的 https://jsonplaceholder.typicode.com/posts/1 實作。

我為什麼使用 curl 打 API?

如同 IBM What is cURL and how does it relate to APIs? 一文中,提到 curl 的好處,諸如: Open-source (MIT License)、所有的 OS 和連接設備都相容、詳細提供 sent/received 確切訊息、測試 endpoints 是否正常工作等優點。

本人私心是 curl 的爸爸 (Daniel Stenberg) 中文 wiki 簡介提到 蘋果公司在其產品中內置cURL ,我使用的是 MAC Book,那就無須額外下載 curl tool 囉!

Call API

檢閱 curl 說明文件: man curl
檢閱 curl 可用參數: curl --help
curl 基本指令: curl URL,如 curl https://jsonplaceholder.typicode.com/posts/1


檢視網站 Header 訊息: curl -I URL,如 curl -I https://jsonplaceholder.typicode.com/posts/1

模擬 透過 curl 更新 (PATCH) URL 內容

  • 參數 -X 指定使用的 HTTP 動詞,後面要接目標 URI
  • 參數 -H 指定標頭的內容
  • 參數 -d 傳遞資料(payload)
  • 符號 \ 多行指令輸入,作為 換行用

結語

熟記 curl 常用的幾個參數,差不多能滿足我們 87% 左右的開發,不過有 UI 畫面的情況,我會選用 POSTMAN 來 Call API; 若情境 (伺服器、AWS、GCP..等) 只能使用終端機,我也能使用 curl 來 Call API.


參考文章

1 cURL, curl, CURL 到底誰是誰?
2 [stream] 怎麼從程式內部 call api?
3 IBM What is cURL and how does it relate to APIs?
4 蘋果公司在其產品中內置cURL


上一篇
[Day06] cURL, curl, CURL 到底誰是誰?
下一篇
[Day08] [PHP cURL] 怎麼從程式內部 call api?
系列文
PHP 沿途的風景30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
Sunny.Cat
iT邦新手 3 級 ‧ 2023-09-28 00:42:41

很棒的分享

我要留言

立即登入留言