Command line (命令提示字元; 終端機) 的世界裡,沒有圖形介面的存在,只會看到一片黑,如圖:
這時候要怎麼 打 API? 這是一個沒有 POSTMAN 的環境,一切只能透過輸入指令,來完成打 API 的動作。 幸好旁邊的大大提供一個關鍵字 『curl』,用 curl 打 API 就好!
殊不知,我 google 後,搜尋到 cURL, curl, CURL, Curl 這些 curl ((我的好奇心又跑出來了 🤩
秉持著若技術名詞字體大寫表示,則可能是縮寫,例如:
怎麼出現 cURL 和 curl,兩個不同的 curl !! 更奇特的是,curl 的 網址是 curl.se
,不是我以為的 curl.com
光是這一路追 curl 下來,就發現不同的 curl ,既然 wiki 都提供官網,那就來閱讀 curl 官網的文件 吧! ((學習電腦科學,就是不停地閱讀文件))
透過 curl 官網的文件,清楚的知道 cURL 是一個專案,內容包括 libcurl 和 curl tool 這兩個套件。
個人覺得文件中提到,cURL 也可以讀作 see URL,的確比 'client URL' 讓我清楚知道這個專案是在對 URL getting 或 sending 資料。
((文件也提供 curl 該怎麼發音,好奇怎麼發音的人,到文件上聆聽吧 😉))
CURL 是某家公司商標,另外,PHP/CURL,是 cURL 提供給 PHP module 的名稱,用來區別於 curl 命令行工具和 libcurl 庫,然而,PHP 團隊並沒有這麼稱呼它。(原因不明)
總算分清這三者 (cURL, curl, CURL) 的關係,我們用 cURL 專案裡面的 curl 來執行在終端機上 call api,curl 由 libcurl 提供支持,實現所有與傳輸相關的功能,也就是說,curl 用來 call api; curl 的底層是 libcurl 函式庫組成,我們會用 cURL 作為統稱。
cURL 提供給 PHP module 的名稱 PHP/CURL, 則因 PHP 團隊的不知名原因,而未用 CURL 稱呼它。
本主題是講 PHP 的踩坑經驗,所以回到 PHP 身上,PHP 的 cURL Library 使用的 cURL function 諸如 curl_close()
, curl_setopt()
..等 function ,之後文章會說明該如何使用。
p.s cURL 的爸爸 Daniel Stenberg 最近(2023/09/01) 在 Youtube 製作一集 Mastering the curl command line with Daniel Stenberg ,影片的開頭有介紹 cURL 總總。歡迎 分享、訂閱、點贊。 感謝您
1 curl wiki
2 curl 官網的文件
3 What is cURL?
4 CURL 是某家公司商標
5 PHP/CURL
6 PHP 的 cURL Library
7 Mastering the curl command line with Daniel Stenberg