HTTPie Cheatsheet - HTTP Client
HTTPie 是比 curl 更易读的 HTTP 命令行工具,输出自动高亮和格式化,API 调试效率更高。
Back to SysOps基础请求 7
http GET https://api.example.com/users发送 GET 请求
http https://api.example.com/users不带方法默认 GET
http POST https://api.example.com/users name=John age:=30POST JSON,:= 表示数字类型
http PUT https://api.example.com/users/1 name=JanePUT 请求更新资源
http DELETE https://api.example.com/users/1DELETE 请求
http PATCH https://api.example.com/users/1 email=new@mail.comPATCH 局部更新
http HEAD https://api.example.com/usersHEAD 只取响应头
请求头与参数 7
http https://api.example.com X-Token:abc123添加自定义请求头(: 分隔)
http https://api.example.com X-Token:abc123 Cookie:session=xyz添加多个请求头
http https://api.example.com page==2 size==10URL 查询参数,== 表示 query string
http -j https://api.example.com强制 Content-Type 为 JSON
http -f https://api.example.com field=value提交 form-urlencoded 表单
http -v https://api.example.com显示完整请求和响应头
http -p Hh https://api.example.com只显示请求头(H)和响应头(h)
认证与 Session 6
http -a user:pass https://api.example.comBasic 认证
http -A bearer -a TOKEN https://api.example.comBearer Token 认证
http -A digest -a user:pass https://api.example.comDigest 认证
http --session=logged-in https://api.example.com创建并使用命名 Session
http --session=logged-in https://api.example.com/profile复用 Session 中的 cookies 和 headers
http --session-read-only=logged-in https://api.example.com只读 Session,不更新
文件与下载 6
http -d https://example.com/file.zip -o file.zip下载文件,-d 下载模式
http --download https://example.com/file.zip下载并显示进度条
http POST https://api.example.com/upload file@./photo.jpg上传文件,@ 前缀表示文件
http POST https://api.example.com/data @data.json从文件读取请求体
http -d https://example.com/file.zip --continue断点续传下载
http POST https://api.example.com/upload file@./photo.jpg field=value同时上传文件和字段
输出与格式化 6
http https://api.example.com | jq ".data"管道传给 jq 提取字段
http -b https://api.example.com只输出响应体(不含头)
http -h https://api.example.com只输出响应头(不含体)
http --pretty=none https://api.example.com关闭格式化和高亮
http -o response.json https://api.example.com输出响应体到文件
http --stream https://api.example.com/stream流式输出(SSE/长连接)
实用技巧 5
http --proxy http:http://127.0.0.1:7890 https://api.example.com通过代理发送请求
http --follow https://example.com/redirect自动跟随重定向
http --timeout=30 https://api.example.com设置 30 秒超时
http --verify=no https://self-signed.example.com跳过 SSL 证书校验
http --check-status https://api.example.com/users4xx/5xx 状态码返回非零退出码
💡 Tips
- 安装:pip install httpie 或 brew install httpie。
- := 用于 JSON 数字/布尔类型,== 用于 URL 查询参数,= 用于 JSON 字符串字段。
- httpie 的输出自动 JSON 格式化和高亮,比 curl | jq 更方便。
- --session 可以保存 cookies 和认证信息,适合需要多步操作的 API 调试。
- 请求项语法:头字段 Header:Value、查询参数 param==value、数据字段 field=value、JSON 字段 field:=value、文件 field@/path。
- 用 -o 保存响应体到文件,结合 --download 适合下载大文件并显示进度。