cURL是linux下测试http接口的命令行工具,支持多种协议和请求类型。1. 基本语法为curl [选项] [URL],常用选项包括-X指定方法、-H添加请求头、-d发送数据、-i显示响应头、-v调试模式、–data-urlencode进行URL编码。2. GET请求用于获取数据,可直接跟URL或附加查询参数。3. POST请求通过-H设置Content-Type,-d携带JSON或表单数据提交。4. 可添加Authorization等多请求头实现认证。5. 使用-i查看响应详情,-v显示完整通信过程。6. 测试https时可用-k忽略证书错误。7. 用-o将响应保存到指定文件,或-O按原名保存。掌握这些可高效调试API。
在linux系统中,curl 是一个非常强大的命令行工具,常用于测试HTTP接口请求。它支持多种协议(如HTTP、HTTPS、FTP等),可以发送GET、POST、PUT、delete等类型的请求,适合调试API接口。
1. 基本语法
curl的基本语法如下:
curl [选项] [URL]
常用选项包括:
- -X:指定请求方法(如GET、POST)
- -H:添加请求头信息
- -d:携带请求体数据(常用于POST/PUT)
- -i:显示响应头信息
- -v:显示详细请求过程(调试用)
- –data-urlencode:对数据进行URL编码
2. 测试GET请求
GET请求是最常见的接口测试方式,通常用于获取数据。
curl -X GET “http://api.example.com/users”
可以省略 -X GET,因为curl默认使用GET:
curl “http://api.example.com/users”
如果需要传递查询参数:
curl “http://api.example.com/users?id=123&name=john”
3. 测试POST请求
POST请求常用于提交数据,比如创建资源。
发送json数据:
curl -X POST http://api.example.com/users
-H “Content-Type: application/json”
-d ‘{“name”: “john”, “age”: 30}’
说明:
发送表单数据:
curl -X POST http://api.example.com/login
-H “Content-Type: application/x-www-form-urlencoded”
-d “username=admin&password=123456″
4. 添加请求头和认证信息
很多接口需要身份验证或特定请求头。
添加Authorization头(如Bearer Token):
curl -X GET http://api.example.com/profile
-H “Authorization: Bearer your_token_here”
添加多个请求头:
curl -X POST http://api.example.com/data
-H “Content-Type: application/json”
-H “Authorization: Bearer your_token”
-H “X-Client-Version: 1.0”
-d ‘{“key”: “value”}’
5. 查看响应详情
使用 -i 查看响应头和响应体:
curl -i http://api.example.com/users
使用 -v 查看完整的请求/响应过程(适合调试):
curl -v http://api.example.com/users
输出中会显示dns解析、TCP连接、请求头、响应头等信息。
6. 处理HTTPS和忽略证书错误
如果测试环境使用自签名证书,可添加 -k 忽略ssl验证:
curl -k https://self-signed.example.com/api
生产环境不建议使用 -k,应配置正确的CA证书。
7. 保存响应结果到文件
将接口返回内容保存到本地文件:
curl -o response.json http://api.example.com/data
或使用 -O 以远程文件名保存:
curl -O http://example.com/data.json 基本上就这些。掌握这些用法,就可以高效地用curl测试各类接口了。
暂无评论内容