什么是Curl命令

什么是Curl命令

什么是Curl命令?Curl 是命令行实用程序。用于将数据从服务器传输到服务器。以便在没有用户交互的情况下工作。使用Curl。您可以使用支持的协议之一下载或上传数据。包括HTTP。HTTPS。SCP。SFTP和FTP。Curl提供了许多选项。允许您恢复传输。限制带宽。代理支持。用户身份验证等等。本文为大家整理汇总了Linux Curl命令详解。

一。安装Curl

Curl软件包已预先安装在大多数Linux发行版上。

要检查系统上是否安装了Curl。请打开控制台。键入Curl。然后按Enter键。如果你安装了Curl。系统会打印Curl: try 'Curl --help' or 'Curl --manual' for more information。否则你会看到类似的东西Curl command not found

如果没有安装Curl。您可以使用发行版的软件包管理器轻松安装它。

1。在Ubuntu和Debian上安装Curl

sudo apt install Curl

2。在CentOS和Fedora上安装Curl

sudo yum install Curl

二。如何使用卷曲

Curl命令的语法如下:

Curl [options] [URL...]

options– 以一个或两个破折号开头的Curl选项。
URL – 远程服务器的URL

在没有任何选项的情况下使用时。Curl将以最简单的形式显示[url]中指定的资源到标准输出。

在以下示例中。我们将检索example.com主页:

Curl example.com

上面的命令将example.com在终端窗口中打印主页的源代码。如果你没有指定协议Curl将尝试猜测你想要使用的协议。它将默认为HTTP。

三。如何将Curl输出保存到文件

要保存Curl命令的结果。可以使用-o-O选项。

小写-o使用预定义的文件名保存文件。在下面的示例中为vue-v2.5.16.js

Curl -o vue-v2.5.16.js https://cdn.jsdelivr.net/npm/vue/dist/vue.js

大写-O将使用其原始文件名保存文件:

Curl -O https://cdn.jsdelivr.net/npm/vue/dist/vue.js

四。如何使用Curl下载多个文件

要一次下载多个文件。请使用多个-O标志。然后使用要下载的文件的URL。在以下示例中。我们将下载Arch Linux和Debian iso文件:

Curl -O http://mirrors.edge.kernel.org/archlinux/iso/2018.06.01/archlinux-2018.06.01-x86_64.iso  \
-O https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-9.4.0-amd64-netinst.iso

五。如何使用Curl实现继续下载

您可以使用该-C -选项继续下载。如果您的连接在下载大文件时丢失。而不是从头开始下载。则可以继续前一个。

例如。如果使用以下命令下载Ubuntu 18.04 iso文件:

Curl -O http://releases.ubuntu.com/18.04/ubuntu-18.04-live-server-amd64.iso
Curl -C -O http://releases.ubuntu.com/18.04/ubuntu-18.04-live-server-amd64.iso

六。使用Curl获取URL的HTTP标头

HTTP标头是冒号分隔的键值对。包含用户代理。内容类型和编码等信息。使用请求或响应在客户端和服务器之间传递标头。

-I选项允许您仅获取指定资源的HTTP标头:

Curl -I --http2 https://www.baidu.com/

输出:

HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
Connection: keep-alive
Content-Length: 277
Content-Type: text/html
Date: Sat, 14 Sep 2019 04:14:07 GMT
Etag: "575e1f60-115"
Last-Modified: Mon, 13 Jun 2016 02:50:08 GMT
Pragma: no-cache
Server: bfe/1.0.8.18

七。如何测试网站是否支持带Curl的HTTP/2

要检查特定URL是否支持新的

HTTP/2

协议。请-I使用以下--http2选项获取HTTP标头:

Curl -I --http2 -s https://linuxize.com/ | grep HTTP

-s选项告诉Curl在静默(安静)中运行并隐藏进度表和错误消息。

如果远程服务器支持HTTP/2。则会打印Curl HTTP/2.0 200

输出:

HTTP/2 200

否则响应将为HTTP/1.1 200L.

HTTP/1.1 200 OK

如果您有Curl版本7.47.0或更新版本。则不需要使用该--http2选项。因为默认情况下为所有HTTPS连接启用HTTP/2

八。如何使用Curl跟踪重定向

如果您尝试检索baidu.com主页。则不会www发现以下情况:

<html>
<meta http-equiv="refresh" content="0;url=http://www.baidu.com/">
</html>

正如您从上面的输出中看到的baidu.com重定向到www版本。并且因为默认情况下Curl不遵循HTTP Location标头。因此您无法获得Baidu主页的来源。

-L其指示Curl的选择遵循任何重定向。直到到达最终目的地:

Curl -L baidu.com

九。如何更改Curl User-Agent

有时在下载文件时。可以将远程服务器设置为阻止Curl User-Agent。或者页面根据访问者设备和浏览器提供完全不同的内容。

在这种情况下。您可以使用-A如下所示的选项模拟其他浏览器:

Curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0" https://getfedora.org/

上面的命令将模拟Firefox 60请求页面 getfedora.org

十。如何指定最大传输速率

--limit-rate选项允许您限制数据传输速率。该值可以用字节表示。带k后缀的千字节。带后缀的兆字节和带m后缀的千兆字节g

在以下示例中。Curl将下载Go二进制文件并将下载速度限制为1mb:

Curl --limit-rate 1m -O https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz

当您不希望Curl占用所有可用带宽时。此选项很有用。

十一。如何通过FTP使用Curl传输文件

要使用该Curl命令访问受保护的FTP服务器。请使用该-u选项并指定用户名和密码。如下所示:

Curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/

该命令将列出用户主目录中的所有文件和目录。

您可以从FTP服务器下载文件:

Curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/file.tar.gz

要将文件上载到FTP服务器。请使用-T后跟要上载的文件的名称:

Curl -T newfile.tar.gz -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/

十二。如何发送Curl cookie

使用Curl发出请求时。默认情况下不会发送或存储任何cookie。有时。您可能需要使用特定cookie发出HTTP请求以访问远程资源或调试问题。

要将cookie发送到服务器。请使用-b开关。后跟包含cookie或字符串的文件名。

例如。要下载Oracle Java JDK rpm文件。 jdk-10.0.2_linux-x64_bin.rpm您需要传递一个名为oraclelicensevalue 的 cookie:

Curl -L -b "oraclelicense=a" -O http://download.oracle.com/otn-pub/java/jdk/10.0.2+13/19aef61b3812
分享到 :
相关推荐

高防服务器防火墙有哪些特性(高防服务器防火墙有哪些特性和功能)

高防服务器防火墙的特性有:1。高防服务器防火墙是内部网络和外部网络之间通信的唯一通道...

香港云虚拟机网速怎么样(香港云虚拟机网速怎么样啊)

香港云虚拟机网速正常的ping值一般在50ms左右。速度相对比较快的。对于国内用户而...

cdn加速是什么(网站cdn加速起到什么作用)

许多网站运营者都信奉着一个原则。这个原则指导着运营者们优化网站的访问速度、页面效果等...

电信服务器地址(电信服务器dns怎么填写)

电信服务器dns怎么填写,下面就来教教各位。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注