只需使用curl或命令行工具和库来传输带有url的数据。curl通过命令行界面为下载文件和文件夹提供了广泛的支持。curl可以与许多不同类型的协议一起使用。下面是curl当前支持的协议。
- 口述
- 文件
- FTP/FTPS协议
- 地鼠
- 超文本传输协议
- HTTPS协议
- IMAP/IMAPS接口
- LDAP/LDAPS协议
- POP3/POP3S
- RTMP公司
- RTSP公司
- SCP公司
- SFTP公司
- 中小企业
- SMTP/SMTPS
- Telnet和TFTP
- SSL证书
- HTTP POST、HTTP PUT、FTP上载、基于HTTP表单的上载、代理、HTTP/2、Cookie、用户+密码身份验证(基本、普通、摘要、CRAM-MD5、NTLM、协商和Kerberos)、文件传输恢复、代理隧道
屏住呼吸,因为有很多关于卷曲的例子,我们一个接一个地看。
curl命令语法
curl命令的语法如下所示。
curl [options...]
卷发指挥员
curl的手册页可以通过以下命令获得,其中手册页提供了有关curl命令的详细帮助信息。
$ man curl

curl命令帮助
有关参数和选项的简单快速帮助可以通过以下命令获得。这个 -小时 选项将用于列出帮助信息。帮助信息提供了有关选项及其含义的更多基本信息。
$ curl -h

使用HTTP和HTTPS连接获取和显示
curl最常用的类型之一是使用HTTP/s下载HTML或类似文件。curl将自动检测传输协议,在本例中是HTTPS。
$ curl https://www.poftut.com

从命令输出中,我们可以看到请求的URL的内容被直接打印到标准输出,在本例中,标准输出是终端。或者,可以使用以下命令将输出重定向到文件中。
$ curl https://www.poftut.com > poftut.html
使用HTTP/s下载并重定向
在上一个例子中,下载的文件被打印出标准输出,这是我们的终端。但这通常不是一个实际的用法。下载的文件可以重定向到具有bash重定向功能的文件,如下所示。在这个例子中,我们可以看到一些关于下载的统计信息。此信息提供总大小、接收到的数据、平均下载速度、总时间和下载时间。
$ curl https://www.poftut.com > poftut.html

使用HTTP/s下载
有一个参数用于将下载的文件保存到一个无需额外命令的文件中。此参数为 -o
.
$ curl -o poftut.html https://www.poftut.com

限制下载速率
curl的另一个有用特性是限制下载速率。这在互联网带宽有限的情况下非常有用,应该与其他应用程序共享。在这些例子中,我们的带宽限制为1K,这将使我们的下载需要一些时间。
$ curl --limit-rate 1k -o poftut.html https://www.poftut.com

下载顺序文件
系统管理员通常更喜欢使用顺序文件名进行备份或类似操作。此外,日志文件驻留在 /var/log
通常是按顺序命名的。所以一个接一个地下载它们指定文件的全名是一件很枯燥的工作。curl可以像下面的例子那样下载这些文件。
$ curl ftp://www.poftut.com/backup[1-9].tar
套 HTTPS的SSL版本
在使用诸如HTTPS、FTPS、POP3S等安全协议时,SSL协议将用于创建加密通道。SSL有不同的版本,可能会造成不兼容的情况。SSL版本可以使用 --sslv2
和 --sslv3
参数。但是请记住,curl使用GnuTLS库进行加密操作,GnuTLS应该支持SSLv2。
$ curl --sslv2 -o poftut.html https://www.poftut.com

详细和调试模式
使用curl下载和上传文件时,会有后台操作发生。也会有我们不知道正在发生什么的问题。curl可以提供有关使用 -v
参数如下。
$ curl --ssl -v -o poftut.html https://www.poftut.com

静默模式
还有另一种模式,没有输出到终端。这可以用于干净的下载。
$ curl -s -o poftut.html https://www.poftut.com
指定用户和密码
在使用身份验证所需的协议和服务器时,curl可以提供用户名和密码等凭据。
$ curl -u ismail:mypassword -o data.tar ftp://poftut.com/backup.tar
为连接设置Cookie
我们知道HTTP是一个无状态协议。为了保留用户会话,使用了cookies。在使用HTTP协议时,现有的cookie可以与 -b
参数如下。
$ curl -b aerf34fawfeawf -o statistics.html https://www.poftut.com/statistics.html