工具介绍

HTTPie (httpie)是一个面向开发者设计的命令行HTTP客户端,支持发送任意HTTP请求并格式化输出响应

安装方法

操作系统安装命令
macOS(使用 Homebrew)brew install httpie
Ubuntu/Debiansudo apt install httpie
Windows(使用 pip)pip install httpie

最佳实践

我这边用的是Homebrew进行安装的,下面给大家做个演示

✅ Get请求示例

名称
URLhttps://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请求示例

名称
URLhttps://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",所以用普通赋值。