curl命令详解

编程

http报文

请求报文

  • 请求行

    • 方法

      • -X 指定方法,可选择GET、POST、HEAD、PUT
      • -I 发起HEAD请求,并打印报文头

    • url 作为curl url的参数

      • -G 指定查询字符串

        • -G -d "key=value&key=value..." 合并格式
        • -G -d "key=value" -d "key=value" 拆分格式
        • --data--urlencode 用于url编码

    • 版本

  • 报文头

    • -H 指定报文头

      • -H "Content-Type: text/plain" 指定类型

        • Content-Type: text/xml xml格式
        • Content-Type: text/plain文本
        • Content-Type: application/json json格式
        • application/x-www-form-urlencoded 默认格式

    • 特殊报文头

      • -e 指定Referer 表示请求来源
      • -A User-Agent

        • 默认为curl/[version]

      • -b 指定cookie报文头

        • -b "foo1=bar1;foo2=bar2"
        • -b cookies.txt 读取本地文件

          • ps:可以和后续的-c cookies.txt配合使用

  • 报文体

    -d 指定报文体,并且如果没有-G,则默认方法为POST,可以不用指定-X POST

    • 从文件中读取

      • -d "@file"

    • 参数格式

      • 文本格式

        • -d "key=value&key=value..." 合并格式
        • -d "key=value" -d "key=value" 拆分格式
        • --data--urlencode 用于url编码

      • json格式

        • "{"login": "emma", "pass": "123"}" -H "Content-Type: application/json"

      • xml格式

        • -d "<user><login>ann</login><password>123</password></user>" -H "Content-Type: text/xml"

响应报文

  • 状态行

    • 版本
    • 状态码

      • -i 打印报文头

    • 原因短语

  • 报文头

    • -c 下载cookies到本地文件

  • 响应报文体

    • -o 指定文件保存
    • -O 以url的最后部分当做文件名

其他

文件上传

-F 支持二进制文件上传

  • -F "file=@filename;type=image/png;filename=xx"

    • file指定本地上传的文件
    • type指定MIME
    • filename指定上传的文件名

重定向支持

-L 支持自动重定向,默认对于3xx是不重定向的

ssl

  • -k 跳过ssl检测

--limit-rate 限流测试

--limit-rate 200k

-s

跳过进度信息和错误信息

-S

只输出错误信息

-x

指定代理

以上是 curl命令详解 的全部内容, 来源链接: utcz.com/z/516234.html

回到顶部