Linux教程
Linux目录
Linux命令
Linux用户
Linux文件
Linux进程
Linux查询
Linux I/O
Linux正则
Linux安全
Linux shell
Linux网络
Linux VI
Linux 系统命令
Linux 其他

Linux Curl命令

Linux Curl命令

Linux curl命令用于通过HTTP,FTP,IMAP,SFTP,TFTP,IMAP,POP3, SCP等。它是一个远程实用程序,因此无需用户交互即可工作。
从一个地方到另一个地方的数据传输是计算机系统最重要且最常用的任务之一。但是,有许多 GUI 工具可用于数据传输。但是,当在命令行上工作时,它变得有点复杂。 curl工具允许我们通过命令行传输数据。

语法:

使用curl的基本语法如下:
curl [options] [URL...]
根据上述语法,

URL:

URL 语法是与协议相关的通用URL。我们可以指定多个URL,如下所示:
http://site.{one,two,three}.com

选项:

curl命令支持以下命令行选项:
--abstract-unix-socket <path>: 用于通过抽象的Unix域套接字而不是网络进行连接。
--anyauth: 它用于命令curl自行验证方法,以用于使用最安全的方法。该实用程序是可选的实用程序"--basic,-digest,-ntlm和negotiation",用于设置特定的身份验证方法。
-a,--append: 用于上传文件。它附加文件而不是覆盖它。如果给定文件在服务器上不存在,它将创建一个。
--basic: 它指定使用HTTP 基本身份验证。它是curl命令的默认选项。
--cacert <file>: 。指定使用特定的证书文件来验证对等方。这些文件可能具有多个CA证书。证书的标准格式是PEM,因此,所有证书都必须在其中。
-capath <dir>: 指定使用特定目录进行验证同行。我们可以通过用冒号(:)分隔多个路径来指定多个路径,例如" path: path2: path3"。证书的标准格式为PEM,因此,所有证书都必须包含在其中。
--cert-status: 用于验证服务器证书的状态。它使用证书状态请求或OCSP装订TLS。
--cert-type <type>: 。它指定提供的curl证书类型。这些证书可以采用PEM,DER和ENG格式。默认值为PEM。如果多次指定,则最后一个值将由curl获取。
-E,--cert <certificate[:password]>: 通过任何基于SSL的协议(例如HTTPS,FTPS等)获取文件时的客户端证书文件。
--ciphers <list of ciphers>: 选择要在连接中使用的密码。
--compressed-ssh: 用于启用内置的SSH压缩。该选项将作为服务器的请求,因此服务器可能会接受也可能不会接受。
--compressed: 它用于使用curl请求压缩响应。算法并保存未压缩的文档。此选项将发送不支持的编码卷曲的报告。
-K, --config <file>: 用于描述读取卷曲参数的文本文件。 curl将使用文本文件中的命令行参数。
--connect-timeout <seconds>: 用于指定curl连接时间的最长时间(以秒为单位)
--connect-to <HOST1:PORT1:HOST2:PORT2>: 。用于创建对给定主机和端口对的请求;否则,它将连接到下一对。此选项是用于在特定服务器上直接请求的便捷工具。
-C,-continue-at <offset>>: 用于继续或恢复上一个
-c,--cookie-jar <filename>: 用于指定要在其后写入所有cookie的特定文件。一个成功的操作。
-b,--cookie <data>: 用于将数据转发到 HTTP 服务器(位于Cookie标头中)。
--create-dirs:它用于与'-o?选项,它将创建所需的本地目录层次结构。
--crlf (FTP SMTP): 用于在上传中将LF转换为CRLF。这是用于MVS(OS/390)的便捷工具。
--crlfile <file>: 它用于以证书吊销列表指定(以PEM格式)。
--delegation<LEVEL>: 用于设置LEVEL以确认服务器在涉及用户凭据时允许委派的内容。
--digest: 用于启用HTTP摘要认证。
-q,--disable: 如果用作第一个参数,它将忽略curlrc配置文件。
--dns-interface <interface>: 用于确认服务器发送出站DNS请求。
--dns-servers <addresses>: 用于指定 DNS 服务器而不是默认服务器。
-f,--fail: 用于使卷曲在服务器错误时以静默方式失败。
-F, --form <name=content>: 用于模拟用户提交的填写表单。
-P, --ftp-port <address>: 用于在与FTP连接时撤销默认的侦听器角色。
-f tp-ssl-ccc-mode <active/passive>: 用于设置CCC模式。
-h,--help: 用于在HTTP GET请求而不是POST请求中使用该选项。用于显示帮助手册,其中简要说明了用法
-0,--http1.0:它指定用于使用HTTP版本1.0。
--ignore-content-length: 用于忽略Content-Length标头。
-i,--include: 用于包含HTTP响应标头。
-4,--ipv4: 用于将名称解析为Ipv4地址。
-6,--ipv6: 它用于将名称解析为Ipv6地址。

curl命令的安装

curl命令随大多数Linux 发行版。但是,如果系统默认不携带卷曲。您需要手动安装。要安装curl,请执行以下命令:
通过执行以下命令来更新系统:
sudo apt update
sudo apt upgrade
现在,通过执行以下命令来安装curl工具:
sudo apt install curl
通过执行以下命令来验证安装:
curl-version
上面的命令将显示curl命令的安装版本。

获取指定URL的内容

要获取任何特定URL的内容 URL ,执行curl命令,然后执行URL。考虑以下命令:
curl https://www.lidihuo.com/linux-tutorial
上面的命令将获取指定页面的页面数据。考虑下面的输出快照:
Linux Curl Command
从上面的输出中,我们可以查看正在获取给定URL的页面数据。要停止执行,请按CTRL + C键。

将数据保存在特定文件中

要将数据保存在特定文件中,请传递'-o'选项,后跟目录,文件名和URL,如下所示:
curl-o <directory>/<filename> <URL>
请考虑以下命令:
curl-o /home/lidihuo/Documents/linux.html https://www.lidihuo.com/linux-tutorial
以上命令将页面数据保存在"/home/lidihuo/Documents/"目录下的" linux.html"文件中。考虑以下输出:
Linux Curl Command
从上面的命令中,我们可以看到总数下载的数据量,接收的数据,平均时间以及有关该数据的其他一些统计信息。
要验证下载的数据,请通过执行cat命令打开文件
cd Documents
cat linux.html
考虑以下输出快照:
Linux Curl Command

从Web下载文件

curl有趣而有趣的用途之一是我们可以从Web下载文件。要从网上下载文件,请复制下载链接并使用curl命令粘贴。我们也可以传递其他参数以使其更具体。例如,下载最新版本的ubuntu,复制下载ubuntu的链接,并使用curl命令粘贴它,如下所示:
curl-o /home/lidihuo/Documents/ubuntu20.04.iso https://ubuntu.com/download/desktop/thank-you?version=20.04&architecture=amd64
上述命令会将Ubuntu 20.04下载到指定目录。提供适当的文件扩展名;否则,它将以其他格式下载文件。考虑下面的输出:
Linux Curl Command
从上面的输出中,是ubuntu.iso文件正在下载。我们可以看到下载时间,文件大小,下载速度和其他统计信息。要停止执行,请随时按CTRL + D键。

恢复中断的下载

由于某种原因,可能会中断下载。我们可以使用curl命令恢复下载。要恢复被中断的文件,请通过curl命令传递'-C'选项,如下所示:
curl-C <URL>
上面的命令将继续下载指定的URL。

下载多个文件

要下载多个文件,请指定多个URL,并以a按空间如下:
curl-O <URL1> <URL2>
上面的命令将分别从两个URL下载数据。

查询HTTP标头

HTTP标头包含其他信息;请参阅第5章。它允许Web服务器下载此信息。要从网站查询HTTP标头,请使用带有-I选项的命令,如下所示:
curl-I www.lidihuo.com
上面的命令将产生以下输出:
Linux Curl Command
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4