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 https://www.cnblogs.com -d'login=test&password=123'
向服务器上传二进制文件
#curl 模拟Web页面中提交表单会,以 multipart/form-data 的方式发送POST请求,@后加文件名 curl -F 'file=@photo.png' https://www.cnblogs.com
下载网页option:-o(小写)
curl https://www.cnblogs.com -o index.html
下载网页中的文件option:-O(大写)
curl -O http://www.test.com/hello.py # 循环下载 curl -O http://www.test.com/dodo[1-5].JPG # 分块下载 curl -r 0-100 -o dodo1_part1.JPG http://www.test.com/dodo1.JPG # 断点续传 curl -C -O http://www.test.com/dodo1.JPG
显示下载进度条
curl -# -O http://www.test.com/dodo1.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} https://www.cnblogs.com
指定proxy服务器以及其端口
curl -x 192.168.100.100:1080 https://www.cnblogs.com
保存http的response里面的cookie信息
curl -c cookie.txt https://www.cnblogs.com
保存http的response里面的header信息
curl -D header.txt https://www.cnblogs.com
向服务器发送 Cookie
curl -b cookiec.txt https://www.cnblogs.com
参数指定客户端的用户代理标头,即User-Agent
curl -A "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.0)" https://www.cnblogs.com
添加 HTTP 请求的标头
curl -H 'Accept-Language:zh-CN,zh;q=0.9' https://www.cnblogs.com
将不输出错误和进度信息
curl -s https://www.cnblogs.com