工具介绍
HTTPie (httpie)是一个面向开发者设计的命令行HTTP客户端,支持发送任意HTTP请求并格式化输出响应
安装方法
| 操作系统 | 安装命令 |
|---|---|
| macOS(使用 Homebrew) | brew install httpie |
| Ubuntu/Debian | sudo apt install httpie |
| Windows(使用 pip) | pip install httpie |
最佳实践
我这边用的是Homebrew进行安装的,下面给大家做个演示
✅ Get请求示例
| 名称 | 值 |
|---|---|
| URL | https://xxxx.com/admin/interface/list |
| 参数 | current=1&size=10&descs=&ascs= |
| 方法 | GET |
| 请求头 | Authorization: Bearer e16a081d-e14b-40e7-8831-594935ca437b tenant-id: 1 |
- 命令:
http GET 'https://xxxxx/admin/interface/list?current=1&size=10&descs=&ascs=' \
'Authorization: Bearer e16a081d-e14b-40e7-8831-594935ca437b' \
'tenant-id: 1'
🔍 说明:
http GET:指定使用 GET 方法(可省略,默认就是 GET)- URL 用单引号包裹,防止 shell 对
&等特殊字符进行解析 - 每个请求头用
'键: 值'的格式单独写出,HTTPie 会自动添加到请求中
💡 你也可以省略
GET,直接写:http 'https://xxxxx/...?' \ 'Authorization: Bearer ...' \ 'tenant-id: 1'
✅ Post请求示例
| 名称 | 值 |
|---|---|
| URL | https://xxxxx/admin/role |
| 方法 | POST |
| JSON参数 | {"roleId":"2","roleName":"普通用户","roleCode":"GENERAL_USER","roleDesc":"普通用户"} |
| 请求头 | Authorization: Bearer e16a081d-e14b-40e7-8831-594935ca437b tenant-id: 1 |
- 命令:
http POST 'https://xxxxx/admin/role' \
'Authorization: Bearer e16a081d-e14b-40e7-8831-594935ca437b' \
'tenant-id: 1' \
roleId="2" \
roleName="普通用户" \
roleCode="GENERAL_USER" \
roleDesc="普通用户" \
dsType="0" \
dsScope=""
🔍 说明:
- HTTPie 默认识别这种
key=value形式并自动组装成 JSON,同时设置请求头:Content-Type: application/json - 如果需要form表单的,需要在http 后面制定参数--form 参数告诉 HTTPie 使用 application/x-www-form-urlencoded 编码方式。
http --form POST 'https://xxxxx/admin/role' \ 'Authorization: Bearer e16a081d-e14b-40e7-8831-594935ca437b' \ 'tenant-id: 1' \ roleId="2" \ roleName="普通用户" \ roleCode="GENERAL_USER" \ roleDesc="普通用户" \ dsType="0" \ dsScope="" - 所有请求头用
'键: 值'格式单独写出。 - 字符串字段直接用双引号赋值即可(如
"普通用户")。 - 如果字段是数字或布尔值或嵌套复杂格式(如
1,true),需要用:=(如roleId:=2),但这里roleId是字符串"2",所以用普通赋值。