curl命令
curl是一个非常实用的、用来与服务器之间传输数据的工具;支持的协议包括 (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET and TFTP
),curl设计为无用户交互下完成工作。
1、语法
1 | curl [option] [url] |
- 【URL技巧】
1 | 字符串:http://site.{one,two,three}.com |
2、常见参数
1 | -A/--user-agent <string> 设置用户代理发送给服务器 |
3、常见例子
- 保存访问的网页
1 | # 使用linux的重定向功能保存 |
- 测试网页返回值
1 | curl -o /dev/null -s -w %{http_code} www.linux.com |
- 指定proxy服务器以及其端口
1 | curl -x 192.168.100.100:1080 http://www.linux.com |
- cookie信息
1 | # 保存 |
- 保存header信息
1 | # curl -D cookied.txt http://www.linux.com |
- 模仿浏览器
1 | curl -A "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.0)" http://www.linux.com |
- 伪造referer
1 | curl -e "www.linux.com" http://mail.linux.com |
- 下载文件
1 | # 使用内置option:-o(小写) |
- 分块下载
1 | curl -r 0-100 -o dodo1_part1.JPG http://www.linux.com/dodo1.JPG |
- ftp下载文件
1 | # curl -O -u 用户名:密码 ftp://www.linux.com/dodo1.JPG |
- 显示下载进度条
1 | # curl -# -O http://www.linux.com/dodo1.JPG |
- 不会显示下载进度信息
1 | # curl -s -O http://www.linux.com/dodo1.JPG |
1 | -a/--append 上传文件时,附加到目标文件 |