20世纪90年代中期,互联网正处于起步阶段一位瑞典程序员Daniel Stenbeyg启动了一个项目,后面项目发展成为现在的curl。期初的设计目标是开发一个机器人,定期从网页下载货币汇率,向IRC用户提供等值的瑞典克朗美元,后期不断发展成curl。下面为大家分享关于curl命令技巧。
通过-v或者-version来查看当前的curl版本,还可以查看当前版本支持的协议和功能。
$ curl --version
curl 7.47.0 (x86_64-pc-linux-gnu) libcurl/7.47.0 GnuTLS/3.4.10 zlib/1.2.8 libidn/1.32 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP UnixSockets
如果需要下载文件,使用cuel和-o或者-O选项。-O可以把文件保存于当前的工作目录中,名称和远程位置相同,-o允许指定不同的文件名和/或未知,
$ curl -O http://yourdomain.com/yourfile.tar.gz # Save as yourfile.tar.gz
$ curl -o newfile.tar.gz http://yourdomain.com/yourfile.tar.gz # Save as newfile.tar.gz
如果使用中因为某些原因导致下载被中断,可以通过-c来恢复下载:
$ curl -C - -O http://yourdomain.com/yourfile.tar.gz
从文件中下载URL,用curl和xargs结合使用:
$ xargs -n 1 curl -O < listurls.txt
查询HTTP标头,标头允许远程web服务器随实际请求一起发送有关自身的其他信息。为客户端提供了关于如何处理请求的详细信息。在网站查询HTTP标头:
$ curl -I www.tecmint.com
使用参数来发起POST请求,把first Name和last Name参数及对应值发送到https://yourdomain.com/info.php:
$ curl --data "firstName=John&lastName=Doe" https://yourdomain.com/info.php
以上可以模拟常规HTML表单的行为。
存储网站的Cookie,可以通过cat命令来查看www.hncloud.com下载了哪些Cookie并存储在cnncookies.txt 中:
$ curl --cookie-jar cnncookies.txt https://www.hncloud.com/index.html -O
发送网站Cookie,对于同一站点的后续请求可以使用上一条命令中检索到的cookie:
$ curl --cookie cnncookies.txt https://www.hncloud.com
修改名称解析,如果需要将yourdomain.com发布之前测试其本地版本,则你可以使用 curl 将http://www.yourdomain.com解析到你的本地主机,如下所示:
$ curl --resolve www.yourdomain.com:80:localhost http://www.yourdomain.com/
对http://www.yourdomain.com的查询将告诉 curl 从 localhost 请求站点,而不是使用 DNS 或/etc/hosts文件。
限速下载速率为100KB/s,预防curl占用带宽:
$ curl --limit-rate 100K http://yourdomain.com/yourfile.tar.gz -O
以上就是关于curl相关使用命令,欢迎大家和我们分享更多curl命令,此外有任何问题也欢迎大家来咨询华纳云!