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
使用 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
- form urlencoded:
示例
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