curl时基于url语法在命令行下工作的传输工具,支持诸多协议,FTP,HTTP,HTTPS等。
-A/--user-agent <string> 设置用户代理发送给服务器 -b/--cookie <name=string/file> cookie字符串或文件读取位置 -c/--cookie-jar <file> 操作结束后把cookie写入到这个文件中 -C/--continue-at <offset> 断点续转 -D/--dump-header <file> 把header信息写入到该文件中 -e/--referer 来源网址 -f/--fail 连接失败时不显示http错误 -o/--output 把输出写到该文件中 -O/--remote-name 把输出写到该文件中,保留远程文件的文件名 -r/--range <range> 检索来自HTTP/1.1或FTP服务器字节范围 -s/--silent 静音模式。不输出任何东西 -T/--upload-file <file> 上传文件 -u/--user <user[:password]> 设置服务器的用户和密码 -w/--write-out [format] 指定输出内容 -x/--proxy <host[:port]> 在给定的端口上使用HTTP代理 -#/--progress-bar 进度条显示当前的传送状态
1. 保存网页html元素
[root@chaogelinux ~]# curl www.pythonav.cn > /tmp/index.html
2. 参数保存网页
[root@chaogelinux ~]# curl -o /tmp/luffy.html www.pythonav.cn
3. 测试页面返回值
[root@chaogelinux ~]# curl -o /dev/null -s -w %{http_code} www.pythonav.cn
4. 保存站点cookie
[root@chaogelinux tmp]# curl -c cookiec.txt www.baidu.com [root@chaogelinux tmp]# cat cookiec.txt # Netscape HTTP Cookie File # http://curl.haxx.se/docs/http-cookies.html # This file was generated by libcurl! Edit at your own risk. .baidu.com TRUE / FALSE 1579334979 BDORZ 27315
5. 模拟客户端
#原本客户端地址 222.35.242.113 - - [17/Jan/2020:16:17:06 +0800] "GET / HTTP/1.1" 200 9503 "-" "curl/7.64.1" "-" #指定客户端地址 yumac: ~ yuchao$curl -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36" www.pythonav.cn
6. 下载资源
curl -O http://hcdn1.luffycity.com/static/frontend/public_class/PY1@2x_1566529821.1110113.png
7. 断点续传
curl -O -C http://hcdn1.luffycity.com/static/frontend/public_class/PY1@2x_1566529821.1110113.png