Curl命令详解

一般选项

-#, --progress-bar
显示进度条

-b, --cookie <name=data>
使用cookie。如果没有 = , 则表示cookie文件路径 (参考 -c )

-c, --cookie-jar <file name>
response的cookie保存路径

-d, --data <data>
POST请求数据

-f, --fail
忽略错误信息 (不显示返回的HTML错误信息)

-F, --form <name=content>

-H, --header <header>
设置请求Header

-i, --include
输出请求Header信息

-I, --head
只显示Header信息

-k, --insecure
允许不安全链接

-L, --location
Follow redirects.

-o, --output <file>
输出信息保存到指定文件中。可与 --create-dirs 一起使用,自动创建文件路径

-O, --remote-name
输出信息写到文件中,文件名同服务器端的文件名 (只能写入到当前目录)

-s, --silent
静默模式。与 -S 一起用,强制输出errors信息

-v, --verbose
显示更多信息(用于调试).

-w, --write-out <format>
请求结果后追加内容。例如, -w "\n" 可以在输出结果后追加一个换行符。可以把 -w "\n" 添加到 ~/.curlrc 文件中,这样每次执行结果后都自动追加换行符(默认curl返回内容最后缺少换行符,显示不友好)

-X, --request
请求方法类型,POST、GET、PUT等

使用 POST 或 PUT 请求时, 可用 Content-Type 指定两种数据格式:

  • application/json
  • application/x-www-form-urlencoded
  • curl默认为表单格式。如果使用json格式,需要手动设置header。

    curl 使用说明

    对于 POST 和 PUT 请求, 以下是通用参数:

  • -X POST
  • -X PUT
  • -H "Content-Type: application/x-www-form-urlencoded"

  • -H "Content-Type: application/json"

  • form urlencoded: -d "param1=value1&param2=value2" -d @data.txt
  • json: -d '{"key1":"value1", "key2":"value2"}' -d @data.json

    POST application/x-www-form-urlencoded

    application/x-www-form-urlencoded 为默认值:

    curl -d "param1=value1&param2=value2" -X POST http://localhost:3000/data
    
    curl -d "param1=value1&param2=value2" -H "Content-Type: application/x-www-form-urlencoded" -X POST http://localhost:3000/data
    

    也可以使用数据文件:

    curl -d "@data.txt" -X POST http://localhost:3000/data
    

    POST application/json