Linux Curl 命令对各种协议支持的很好,谁能提供一些实例?

Linux Curl 命令对各种协议支持的很好,谁能提供一些实例?

CURL 是服务器上用于数据传输的命令行工具。CURL 支持许多协议,例如: DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET,FTP。

CURL 提供100多个命令行选项,在本教程中,我们将介绍一些基本但有用的选项。

把下载的数据在终端输出

将输出结果保存到文件中

$ curl [url] > [name-of -output-file]

或者,还可以使用 -o 选项将输出保存到特定的文件

$ curl -o [name-of-output-file] [url-name]

示例如下:

还存在一个 -O 选项,允许将下载的数据保存在与远程文件名称相同的文件中。

$ curl -O [url]

示例如下:

上面的命令将下载的数据保存在一个名为 manpage.html 的文件中

如果您不希望 curl 在输出中显示进度细节和错误,那么您可以使用 -s 选项

例如,考虑以下 curl 抛出错误的情况

要消除此类错误,使用 -s 选项

如果您希望 curl 只显示错误而不显示任何其他细节(如默认情况下显示的进度细节),请使用 -s 选项和 -S 选项

使用该工具,您可以通过一个命令下载多个文件

$ curl -o/O [url1] -o/O [url2]

示例如下:

假设,您向 Curl 命令提供了一个 URL,但是 web 页面不存在 (比如,它已经移动到其他位置)。在这种情况下,您可以使用 -L 命令行选项,这将使 curl 在新位置上重做请求。

考虑这样一种情况,在 Curl 中抛出一个错误,例如:页面移动

但如果您通过 web 浏览器访问网页,则会观察到重定向。为了确保 Curl 也处理这个重定向,使用 -L 命令行选项。

$ curl -L [url]

示例如下:

使用 -v 选项,可以检索关于 Curl 操作的详细信息

以 > 和 < 开头的行分别代表 Curl 发送和接收的报头数据,* 表示工具提供的附加信息,示例如下:

如果对使用 -v 选项得到的细节不满意,那么可以使用 -trace选项

通过该工具,您可以使用 dict 协议在终端上搜索单词。一个字典服务器 http://dict.org url 被传递给它,http://dict.org 服务器支持大约 77 种字典。

要列出终端上支持的所有字典,运行以下命令:

$ curl dict://http://dict.org/show:db

现在,要在特定的字典中搜索单词,请使用以下命令

$ curl dict://http://dict.org/d:[word-to-be-searched]:[dictionary-name]

示例如下:

备注: gcide 是 The Collaborative International Dictionary of English 的简称。

如果你想在所有的字典中搜索一个单词,运行以下命令

$ curl dict://http://dict.org/d:[word-to-be-searched]:*

示例如下:

如果我们要使用代理来访问 internet,那么在使用 curl 命令下载文件时需要提供代理信息,使用的选项 -x 可以达成目的,示例如下:

当下载文件时,我们可能想要限制下载的速度,因为下载可能最终会占用整个网络带宽。我们可以使用 --limit-rate 选项限制下载速度,示例如下:

从一个网站下载在 2017年1月1日之后修改过的文件,示例如下:

从一个网站下载在 2017年1月1日之前修改过的文件,示例如下:

有许多网站只允许认证和授权之后下载文件,要使用 curl 下载这样一个文件,我们可以使用 -u 选项,示例如下:

有时它发生在下载文件,特别是当下载大文件时,我们需要停止下载以节省带宽来执行一些其他重要任务,或者我们的下载可能会由于一些网络问题而中断。我们可以使用 -C 选项,从中断或停止的位置开始下载,示例如下:

Curl 支持许多协议,FTP 就是其中之一,示例如下:

上传单个文件到 FTP 服务器,示例如下:

上传多个文件到 FTP 服务器,示例如下:

使用 curl,我们还可以从 FTP 服务器中删除文件,示例如下:

有时我们可能需要验证下载数据的网站的 SSL 证书,我们可以通过使用 -carcert 来做到这一点,我们还需要提证书的名称,示例如下:

当使用一个可能带有自签名证书的网站时,我们会收到一个 SSL 证书警告消息,要忽略此消息并继续下载,我们可以使用 -k 选项,示例如下:

以上是 curl 命令的一些使用示例,请在下面的评论框中分享您的评论和疑问。