成为一名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肯定会帮上大忙。附加了-O
或-o
选项的curl
命令可让您下载文件并保留原始名称或设置不同的名称。
运行以下命令以下载带有原始名称(-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
命令尝试连接到一个网站。
设置连接超时可以让您确定服务器需要多长时间来回复您发出的数据请求。
运行以下命令,在20
秒内尝试连接到adamtheautomator.com站点,然后超时请求。
您可以看到-I
选项让您在网站信息输出中包含头信息。

使用GET请求检索数据
您已经在“设置连接超时”部分看到了设置连接超时提供有关网站的信息。但如果这些信息不足够,考虑发送GET请求。
运行以下curl命令,使用HTTP GET请求(-get)从https://adamtheautomator.com网站检索数据。
以下是 adamtheautomator.com 网站的实际源代码。

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

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

搜索单词定义
您知道您也可以像使用字典一样使用 cURL 吗?是的!cURL 允许您使用 DICT 协议 搜索单词定义。许多与 IT 相关的术语可以使用 DICT 协议进行搜索,例如 clock、ubuntu、RDP 等。
使用 DICT 协议的 curl
命令的语法如下:
运行下面的每个命令以从公共网站 dict.org
中搜索单词定义。
正如您下面所见,第一个单词ubuntu的定义搜索找不到相关答案,返回无匹配。但第二个单词返回了几个关于时钟的定义。

测试网站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命令呢?