curl是一个利用url规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载
Usage: curl [options...] <url>
-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进度条显示当前的传送状态
发送 POST 请求的数据体
# curl会以application/x-www-url-encoded 方式发送 POST 请求
# --data-binary:则保留文件中的回车符和换行符,不做任何转换
curl -X POST -dlogin=test&password=123
向服务器上传二进制文件
#curl 模拟Web页面中提交表单会,以 multipart/form-data 的方式发送POST请求,@后加文件名
curl -F
[email protected]下载网页option:-o(小写)
curl-o index.html
下载网页中的文件option:-O(大写)
curl -O
# 循环下载
curl -O [1-5].JPG
# 分块下载
curl -r 0-100 -o dodo1_part1.JPG 1.JPG
# 断点续传
curl -C -O 1.JPG
显示下载进度条
curl -# -O 1.JPG
通过ftp下载文件
curl -O -u 用户名:密码 ftp://www.test.com/dodo1.JPG
curl -O ftp://用户名:密码@www.test.com/dodo1.JPG
测试网页返回值
curl -o /dev/null -s -w %{http_code}
指定proxy服务器以及其端口
curl -x 192.168.100.100:1080
保存http的response里面的cookie信息
curl -c cookie.txt
保存http的response里面的header信息
curl -D header.txt
向服务器发送 Cookie
curl -b cookiec.txt
参数指定客户端的用户代理标头,即User-Agent
curl -A "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.0)"
添加 HTTP 请求的标头
curl -H Accept-Language:zh-CN,zh;q=0.9
将不输出错误和进度信息
curl -s