iT邦幫忙

2023 iThome 鐵人賽

DAY 6
0
自我挑戰組

PHP 沿途的風景系列 第 6

[Day06] cURL, curl, CURL 到底誰是誰?

  • 分享至 

  • xImage
  •  

cURL, curl, CURL 到底誰是誰?

Command line (命令提示字元; 終端機) 的世界裡,沒有圖形介面的存在,只會看到一片黑,如圖:

這時候要怎麼 打 API? 這是一個沒有 POSTMAN 的環境,一切只能透過輸入指令,來完成打 API 的動作。 幸好旁邊的大大提供一個關鍵字 『curl』,用 curl 打 API 就好!

殊不知,我 google 後,搜尋到 cURL, curl, CURL, Curl 這些 curl ((我的好奇心又跑出來了 🤩

秉持著若技術名詞字體大寫表示,則可能是縮寫,例如:

  • CRUD 表示 Create, Read, Update, Delete
  • DOM 表示 Document Object Model
    CURL 可能是縮寫嗎? 我在什麼都不懂得情況下,我選擇閱讀 curl wiki 的訊息,不過一看到 wiki 介紹 curl 頁面,我不禁開始疑惑 🤔

https://ithelp.ithome.com.tw/upload/images/20230921/20152511ZNs6btaBho.jpg

怎麼出現 cURL 和 curl,兩個不同的 curl !! 更奇特的是,curl 的 網址是 curl.se ,不是我以為的 curl.com

光是這一路追 curl 下來,就發現不同的 curl ,既然 wiki 都提供官網,那就來閱讀 curl 官網的文件 吧! ((學習電腦科學,就是不停地閱讀文件))

cURL

透過 curl 官網的文件,清楚的知道 cURL 是一個專案,內容包括 libcurlcurl tool 這兩個套件。

  • libcurl: A client-side URL transfer library, libcurl 提供多種通訊協定 (HTTP, HTTPS, FTP..等) library 供開發者使用。
  • curl tool: curl tool (下面的敘述皆會用簡稱 curl) 功能是,使用 URL 指令 getting 或 sending 資料的 command-line 工具。也就是說 curl 這個工具,沒有圖形介面,curl 用途為 打 API。

個人覺得文件中提到,cURL 也可以讀作 see URL,的確比 'client URL' 讓我清楚知道這個專案是在對 URL getting 或 sending 資料。
((文件也提供 curl 該怎麼發音,好奇怎麼發音的人,到文件上聆聽吧 😉))

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


上一篇
[Day 05] [stream]怎麼從程式內部 call api?
下一篇
[Day 07] 使用 curl 打 api 簡例
系列文
PHP 沿途的風景30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言