成為IT工程師意味著需要執行各種任務,如檢查網絡連通性、下載文件或設置身份驗證。通常,這些任務需要不同的工具。不過,對於cURL來說就不一樣了。cURL Linux實用程序可幫助IT工程師處理大多數所需的事務。
在本教程中,您將了解cURL提供的每個命令行功能。
繼續閱讀,提升您在cURL上的技能!
先決條件
本教程包含逐步演示。要跟隨操作,請確保您擁有以下內容:
- 一台Ubuntu機器 – 本教程使用安裝有Ubuntu 18.04和安裝有Apache的機器。
- A Windows XP+ PC – This tutorial uses Windows 10 Enterprise edition.
- A remote Linux host – This tutorial uses an Ubuntu 18.04.5 LTS machine.
- A user account on the remote Linux SSH host with sudo permissions.
安裝cURL Linux(Ubuntu)
與其他工具一樣,要充分利用cURL,您首先需要在機器上安裝它。您可以在任何基於*nix的操作系統上安裝cURL,但它在Ubuntu上使用最為普遍。
cURL是一個命令行實用程序,允許您執行大量任務,如下所示:
- 顯示 Windows 機器或 Linux 伺服器的各種網路配置狀態
- 從伺服器傳輸數據
- 支援多種協議,如 HTTP、FTP、IMAP、POP3、SCP 和 SFTP。
在您的 Ubuntu 機器上安裝 cURL:
1. 使用您喜歡的 SSH 客戶端連接到您的 Ubuntu 主機。
2. 執行以下命令,它們不會提供輸出,但會創建一個名為 ~/install_curl_demo 的目錄並切換到該目錄。此目錄將保存本教程中您將創建的所有資源。
3. 接下來,運行以下 apt update 命令來更新系統套件索引。
該命令確保 apt 套件管理器在下載任何依賴套件時可以找到正確的來源。

4. 現在,運行下面的 apt install 命令來在您的機器上安裝 cURL。

5. 最後,運行以下命令來檢查您機器上安裝的 cURL 版本。這樣可以確保您已成功安裝了 cURL。

網站身份驗證
不同的協議curl支援,例如FILE、FTP、HTTP、HTTPS、POP3、SCP、SFTP、TELNET等,而且您無需與任何用戶進行互動。
如果您需要使用curl命令對任何網站進行身份驗證,您需要在URL本身中指定用戶名和密碼。但如果您設置了用戶名,cURL將提示輸入密碼。
運行下面的curl命令,將[email protected]:password替換為您的用戶名和密碼,並將網站URL替換為您自己的以進行身份驗證。

使用原始或更改的名稱下載文件
下載文件或包可能是您作為管理員的日常例行程序的一部分。如果是這樣,cURL肯定會對您有所幫助。使用curl
命令,附加-O
或-o
選項之一,可讓您下載文件並保留原始名稱或設置不同的名稱。
運行以下命令以使用原始名稱(-O
)下載NGINX包(*nginx-1.20.2.tar.gz*
),或使用不同名稱(-o
)下載為*mytar.gz*
。

現在,運行以下命令以下載名為mytar2.gz的NGINX包。但這次,您只會看到輸出中的進度條,而不是看到很多詳細信息。

最後,執行以下ls
命令以列出當前目錄中的所有文件。
下面,您可以驗證存在nginx-1.20.2.tar.gz、mytar.gz和mytar2.gz文件。

設置連接超時
快速加載的網站始終是理想的,而cURL有一種方法可以測試用戶連接到您的網站的速度。如何?通過設置連接超時,其中curl
命令嘗試在特定時間範圍內連接到網站。
設置連接超時可讓您確定服務器花費多長時間回復您所發出的數據請求。
在請求超時之前,運行下面的命令嘗試連接到adamtheautomator.com網站20
秒。
您可以看到-I
選項讓您在網站信息輸出中包含標頭。

使用GET請求檢索數據
您已經看到設置連接超時部分提供了有關網站的信息。但如果這些信息不夠,考慮發送GET請求。
運行下面的curl命令使用HTTP GET請求(–get)並從https://adamtheautomator.com網站檢索數據。
以下是adamtheautomator.com网站的实际源代码。

发送POST请求
您可以通过使用curl
命令发送POST请求来发送数据,而不是获取数据。-d
参数允许您像用户在填写HTML表单时浏览器所做的那样,将指定的数据作为POST请求发送到HTTP服务器。
运行以下curl
命令将POST请求发送到ptsv2.com
站点。

现在,在您的网络浏览器中导航到https://reqbin.com/以测试POST是否成功。
下面,您会注意到状态显示为(200 (OK),这表示请求已成功发送。

搜索单词定义
您知道您还可以像使用词典一样使用cURL吗?是的!cURL允许您使用DICT协议搜索单词定义。许多与IT相关的术语可以使用DICT协议进行搜索,如clock,ubuntu,RDP等。
使用DICT协议的curl
命令的语法如下:
运行以下每个命令以从公共网站dict.org
的字典中搜索单词定义。
如您所見,對於ubuntu的第一個詞義搜索沒有找到相關答案,返回了no match。但第二個搜索給出了幾個詞義定義,針對單詞clock。

測試網站HTTP2協議
curl命令無疑適合於下載、上傳和驗證網站。但讓curl成為一個偉大工具的另一個原因是,您可以檢查特定URL是否支持新的HTTP/2協議。
運行以下curl命令來驗證https://adamtheautomator.com/網站是否支持HTTPS協議(–http2)。
您將在輸出中看到類似下面的HTTP/2 200響應,這表示該站點使用了HTTP2協議。

結論
cURL作為一個免費工具,擁有許多功能。在本教程中,您體驗了在Linux中使用cURL的不同第一手示例。無論是下載文件、驗證網站、發送POST或GET請求等,cURL都不會讓您失望。
為什麼不基於這些新發現的知識進一步學習呢?也許學習如何使用curl命令傳輸文件、運行命令和腳本?或者發現cURL API命令?