HTTPie CLI —— 面向 API 时代的现代人性化命令行 HTTP 客户端
HTTPie(读作 aitch-tee-tee-pie)是一个命令行 HTTP 客户端,目标是让 CLI 与 Web 服务的交互尽可能人性化,用于测试、调试和日常调用 API 与 HTTP 服务器。它提供 http 与 https 两个命令来创建并发送任意 HTTP 请求,语法简单自然,输出带格式化和彩色高亮,并内置 JSON 支持、表单与文件上传、HTTPS/代理/认证、自定义请求头、持久会话、类 wget 下载以及插件等能力。
社区作者 · zZz
它解决什么问题
HTTPie CLI: human-friendly HTTP client for the API era。
HTTPie(读作 aitch-tee-tee-pie)是一个命令行 HTTP 客户端,其目标是让用户通过 CLI 与 Web 服务交互时尽可能人性化。项目定位是用于测试、调试以及一般性地与 API 和 HTTP 服务器交互。http 与 https 两个命令允许创建并发送任意 HTTP 请求,使用简单自然的语法,并提供格式化、带颜色的输出。
配图 1(HTTPie)为项目 logo;配图 2(HTTPie in action)为命令行实际操作演示动图。
关于社区的一次说明:仓库近期曾被意外短暂设为私有,导致 GitHub 删除了项目用十年时间建立的社区。相关说明见 https://httpie.io/blog/stardust,对应配图 3(教程配图)。
核心特性(来自 README):
- 表达力强且直观的语法
- 格式化并带颜色的终端输出
- 内置 JSON 支持
- 表单与文件上传
- HTTPS、代理与认证
- 任意请求数据
- 自定义请求头
- 持久会话
- 类 wget 的下载能力
- 更多特性见官方文档
README 给出的示例:
https httpie.io/hello
- Hello World:
http PUT pie.dev/put X-API-Token:123 name=John
- 自定义 HTTP 方法、HTTP 请求头与 JSON 数据:
http --offline pie.dev/post hello=offline
- 使用离线模式(offline mode)构建并打印请求而不真正发送:
http -a USERNAME POST https://api.github.com/repos/httpie/cli/issues/83/comments body='HTTPie is awesome! :heart:'
- 使用认证调用 GitHub API,在 Issue 下发表评论:
社区与支持:官方 HTTPie 网站提供完整文档与有用链接;可加入 Discord 服务器提问、讨论特性与交流 API 话题;可在 Twitter 上 @httpie;可在 StackOverflow 提问并带上 httpie 标签;可在 GitHub Issues 提交缺陷报告与特性请求;也可订阅 HTTPie 邮件通讯获取不定期更新。
参与贡献:README 建议先浏览现有 Issues 与 Pull Requests 寻找可以帮助的方向;如需请求特性或报告缺陷,请使用仓库提供的模板创建 GitHub Issue,并参见贡献指南。
— 本文由 AI 根据公开来源辅助整理,命令、版本与许可证请在使用前到原始页面复核。
安装 / 开始使用
README 中“Getting started”部分仅提供两个跳转链接:安装说明(Installation instructions →)与完整文档(Full documentation →),正文未列出具体的安装命令、包管理器或依赖要求,因此精确安装步骤待核验。
可依据来源明确的信息按以下顺序操作:
- 准备环境:来源未说明支持的操作系统、运行时版本或依赖,待核验。
- 安装:按官方安装说明链接(httpie.io 文档中的 Installation instructions)执行安装,具体命令待核验;请勿依赖本页面未给出的第三方命令。
- 首次运行:安装完成后使用 http 与 https 两个命令发起请求,例如官方 Hello World 示例:https httpie.io/hello
- 验证常见用法:自定义方法与请求头、JSON 数据:http PUT pie.dev/put X-API-Token:123 name=John
- 不实际发送请求、只构建并打印请求:http --offline pie.dev/post hello=offline
- 需要认证时使用 -a 参数,例如:http -a USERNAME POST https://api.github.com/repos/httpie/cli/issues/83/comments body='HTTPie is awesome! :heart:'
常见问题:README 未提供安装失败、版本兼容或命令报错的排查说明;若需故障排查,请使用 StackOverflow 的 httpie 标签提问或创建 GitHub Issue(来源明确给出的支持渠道)。