curl 命令利用 url 在命令行下工作的传输工具,它支持包括 file、ftp、ftps、http、https、imap、imaps、ldap、ldaps、mqtt、pop、pop3s、rtmp、rtmps、rtsp、scp、sftp、smb、smbs、smtp、smtps、telnet 和 tftp 等协议。
除了上述协议外,它还支持代理、用户身份验证、POST 请求、SSL 连接、cookie、metalink、dict、gopher 等。
命令语法及选项
语法
curl [options] [URL...]
选项
curl 的选项以一或两个破折号开头,即 - 或 --,许多选项后面都需要附加值。
-d, --data <data>
- 主要是针对 http 协议的 post 请求指定要在消息体中发送的数据。
-i, --include
- 显示包含 http 消息头返回的信息输出。
-I, --header
- 只获取 http 协议的消息头信息,若是作用在 FTP 协议时,只获取文件大小和最后一次修改时间信息。
-H, --header <header>
- 主要是针对 http 协议的消息头进行设置,常用的有 -H "Content-Type:application/json"。
-o, --output <file>
- 将服务器的响应保存成文件,等同于 wget 命令。
-X, --request <command>
- 指定 http 协议的请求方式,默认为 GET 请求。
常用实例
curl 发送 json 数据的 post 请求
利用 -X、-H 和 -d 参数进行 post 请求,示例如下:
curl -X POST -H "Content-Type:application/json" -d '{"msg_type":"text","content":{"text":"新更新提醒"}}' https://xxxx.xxxxx.xxx/notify
curl 命令将响应返回保存成文件
利用 -o 参数可以将接口返回的数据直接保存成指定的文件,示例如下:
curl -X GET -o result.txt http://www.baidu.com