Curl命令详解

一般选项

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

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

-c, --cookie-jar
response的cookie保存路径

-d, --data
POST请求数据

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

-F, --form
表单数据

-H, --header


设置请求Header

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

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

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

-L, --location
Follow redirects.

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

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

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

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

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

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

POST

使用 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¶m2=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¶m2=value2" -X POST http://localhost:3000/data

等效于:

curl -d "param1=value1¶m2=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

curl -d '{"key1":"value1", "key2":"value2"}' -H "Content-Type: application/json" -X POST http://localhost:3000/data

或使用数据文件:

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

你可能感兴趣的:(Curl命令详解)