安卓系统

Linux中的Curl命令示例

一键安装脚本搭建 v2Ray 科学上网代理节点教程,WS+TLS+CDN

一键安装脚本搭建 v2Ray 科学上网代理节点教程,WS+TLS+CDN

目录:

Anonim

curl 是一个命令行实用程序,用于从服务器传输数据或向服务器传输数据,该服务器设计为无需用户交互即可工作。 使用 curl ,您可以使用受支持的协议之一下载或上传数据,包括HTTP,HTTPS,SCP,SFTP和FTP。 curl 提供了许多选项,使您可以继续传输,限制带宽,代理支持,用户身份验证等等。

在本教程中,我们将通过实际示例和最常见的卷曲选项的详细说明,向您展示如何使用卷曲工具。

安装Curl

curl软件包已预安装在当今的大多数Linux发行版中。

要检查系统上是否安装了Curl软件包,请打开控制台,键入 curl ,然后按Enter。 如果已安装 curl ,则系统将打印 curl: try 'curl --help' or 'curl --manual' for more information 。 否则,您将看到 curl command not found

如果未安装 curl 则可以使用发行版的程序包管理器轻松安装它。

在Ubuntu和Debian上安装Curl

sudo apt update sudo apt install curl

在CentOS和Fedora上安装Curl

sudo yum install curl

如何使用卷发

curl 命令的语法如下:

curl

在没有任何选项的情况下, curl 以其最简单的形式将指定的资源显示到标准输出中。

例如,要检索 example.com 主页,请运行:

curl example.com

该命令将在终端窗口中输出 example.com 主页的源代码。

如果未指定任何协议, curl 尝试猜测要使用的协议,它将默认为 HTTP

将输出保存到文件

要保存 curl 命令的结果,请使用 -o -O 选项。

小写字母 -o 使用预定义的文件名保存文件,在以下示例中为 vue-v2.6.10.js

curl -o vue-v2.6.10.js

大写字母 -O 使用原始文件名保存文件:

curl -O

下载多个文件

要一次下载多个文件,请使用多个 -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

恢复下载

您可以使用 -C - 选项恢复下载。 如果在下载大文件期间连接断开,这很有用,那么您可以继续上一个,而不是从头开始下载。

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

curl -O

突然之间,您的连接断开了,您可以通过以下方式继续下载:

curl -C - -O

获取URL的HTTP头

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

使用 -I 选项仅获取指定资源的HTTP标头:

curl -I --http2

-L 选项指示 curl 遵循任何重定向,直到到达最终目的地:

curl -L google.com

更改用户代理

有时,在下载文件时,可能会根据访问者设备和浏览器将远程服务器设置为阻止Curl User-Agent或返回不同的内容。

在这种情况下模拟其他浏览器时,请使用 -A 选项。

例如,要模拟Firefox 60,可以使用:

curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0"

指定最大传输速率

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

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

curl --limit-rate 1m -O

此选项对于防止 curl 消耗所有可用带宽很有用。

通过FTP传输文件

要使用 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/

发送饼干

有时您可能需要使用特定的Cookie发出HTTP请求,以访问远程资源或调试问题。

默认情况下,当请求带有 curl 的资源时,不发送或存储任何cookie。

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

例如,要下载Oracle Java JDK rpm文件 jdk-10.0.2_linux-x64_bin.rpm 您需要传递一个名为 oraclelicense 的cookie,其值为 a

curl -L -b "oraclelicense=a" -O

使用代理

curl 支持不同类型的代理,包括HTTP,HTTPS和SOCKS。 要通过代理服务器传输数据,请使用 -x (-- --proxy )选项,后跟代理URL。

以下命令使用代理在 192.168.44.1 端口 8888 上下载指定的资源:

curl -x 192.168.44.1:8888

如果代理服务器需要身份验证,请使用 -U (-- --proxy-user )选项,后跟用冒号( user:password )分隔的用户名和密码:

curl -U username:password -x 192.168.44.1:8888

结论

curl 是一个命令行工具,可让您从远程主机或向远程主机传输数据。 这对于解决问题,下载文件等有用。

本教程中显示的示例很简单,但是演示了最常用的 curl 选项,旨在帮助您了解 curl 命令的工作方式。

有关 curl 更多信息,请访问Curl文档页面。

卷曲端子