linux 命令 - curl: transfer a URL命令格式curl [options] [URL...]
命令参数-A, --user-agent指定用户代理
-b/--cookie <name=string/file>传递 cookie
-c, --cookie-jar <file name>完成操作后,将 cookie 写入到指定的文件
-C, --continue-at <offset>断点续传
-d, --data <data>以 POST 方式向 HTTP 服务器发送指定的数据
--data-ascii <data>-d/--data 选项的别名
--data-binary <data>以 POST 方式向 HTTP 服务器发送指定的二进制数据
-D/--dump-header <file>将响应的头部信息输出到指定的文件
-e, --referer <URL>指定 HTTP 请求的Referer 头部信息
-G, --get与 -d 选项一起使用时,以 GET 方式向 HTTP 服务器发送指定的数据
-h, --help显示帮助信息
-H, --header <header>传递额外的头信息
-i, --include输出信息时包含协议的头部信息
-I, --head只显示文档信息
-k, --insecure允许不使用 CA 证书执行 SSL 连接
--limit-rate <speed>限定最大的传输速率
-L, --location重定向
-o, --output <file>将响应消息写到文件而不是标准输出
-O, --remote-name将响应消息写到文件,文件名与远程文件一致
--trace <file>将调试信息输出到指定的文件
--trace-ascii <file>与trace相同,但是不显示十六进制信息
-x, --PRoxy <proxyhost[:port]>指定 HTTP 代理
-X, --request <command>指定请求方法,而不是默认的 GET 方法(FTP 协议默认的请求方法是 LIST)
-u, --user <user:passWord>指定用户名和密码
-U, --proxy-user <user:password>指定代理的用户名和密码
-v, --verbose显示更为详细的通信信息,如果觉得信息不够详细,可以考虑使用 --trace 或 --trace-ascii 选项
-V, --version显示版本信息
实例a) 查看网页源码
curl http://www.example.com/
b) 保存网页源码
curl -o example.html http://www.example.com/
c) 显示 HTTP 响应的头部信息
curl -i http://www.iana.org/domains/example
d) 发送 HTTP POST 请求
curl -d "username=huey2672&password=123456" http://hello.com/accounts/login/
e) 发送 HTTP GET 请求
curl -G -d "client_id=gFN5VBsozdvu8hBZzHsbrmlK&q=hello&from=en&to=zh" http://openapi.baidu.com/public/2.0/translate/dict/simple
f) 添加额外的头部信息
curl -H "Content-Type: application/json" http://www.example.com/
g) 指定源地址
curl -e http://www.baidu.com/ http://www.example.com/
h) 指定 HTTP 客户端信息
curl -A "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)" http://www.example.com/
i) 使用 cookie
curl -b "username=root; password=123456" http://www.example.com/curl -b cookie.txt http://www.example.com/
j) 输出重定向后的响应信息
curl -L http://www.iana.org/domains/example
k) 若需要 HTTP 认证,指定用户名和密码
curl -u name:password http://www.example.com/