curl 命令

   基于URL语法在命令行方式下工作的文件传输工具,它支持FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET,
DICT, FILE及LDAP等协议。 curl支持HTTPS认证,并且支持HTTP的POST、 PUT等方法, FTP上传, kerberos认证,
HTTP上传,代理服务器,cookies,用户名/密码认证, 下载文件断点续传,上载文件断点续传, http代理服务器管道( proxy
tunneling),还支持IPv6,socks5代理服务器,通过http代理服务器上传文件到FTP服务器等,功能十分强大

语法:

curl [options] [URL...]

-A <string> 设置用户浏览器类型字符串
    #curl -IA 'IE-18.0' 192.168.5.102
        "HEAD / HTTP/1.1" 200 - "-" "IE-18.0"

-e <URL> 指定到达此页面的来源网址
    #curl -e 'www.baidu.com' 192.168.5.102
        "GET / HTTP/1.1" 200 14 "www.baidu.com" "curl/7.29.0"

--cacert <file> CA证书 (SSL)
    #curl https://www.hunk.tech
    默认访问的时候是不正常的
    curl: (60) Peer's certificate issuer has been marked as not trusted by the user.

    #curl -I --cacert /etc/pki/CA/cacert.pem https://www.hunk.tech

-k 允许忽略证书进行 SSL 连接117
--compressed 要求返回是压缩的格式,需要服务器支持
-H <line>自定义首部信息传递给服务器
    #curl -H 'User-Agent: firefox200' 192.168.5.102
        "GET / HTTP/1.1" 200 14 "-" "firefox200"

-i 显示页面内容,包括报文首部信息
-I 只显示响应报文首部信息
-D <file>将url的header信息存放在指定文件中
--limit-rate <rate> 设置传输速度
    #curl www.jd.com/index.html --limit-rate 1B -O

--basic 使用HTTP基本认证
-u <user[:password]>设置服务器的用户和密码
-L 如果有3xx响应码,重新发请求到新位置
-o <file> 将网络文件保存为指定的文件中
-O 使用URL中默认的文件名保存文件到本地
-0/--http1.0 使用HTTP 1.0
-C - 选项可对文件使用断点续传功能
-c <file name> 将url中cookie存放在指定文件中
-x <proxyhost[:port]> 指定代理服务器地址
-X <command> 向服务器发送指定请求方法
-U <user:password> 代理服务器用户和密码
-T 选项可将指定的本地文件上传到FTP服务器上
--data/-d 方式指定使用POST方式传递数据
-b name=data 从服务器响应set-cookie得到值,返回给服务器