什么是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
本文地址:https://gpu.xuandashi.com/30475.html,转载请说明来源于:渲大师
声明:本站部分内容来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。分享目的仅供大家学习与参考,不代表本站立场!