What HTTPie Does
- Simple syntax —
http GET urlinstead ofcurl -X GET url - JSON by default —
key=valuebuilds JSON request body - Colorized output — syntax-highlighted response
- Sessions — persist cookies and auth across requests
- File uploads —
file@pathsyntax - Downloads —
--downloadflag - Auth — Basic, Bearer, Digest, HAWK
- Plugins — auth, transport, formatter plugins
- Offline mode — preview what would be sent
- HTTPS — verify certs, client certs
Architecture
Python-based CLI wrapping the Requests library (and newer python-httpx under the hood). Custom parser for the intuitive request syntax. Pygments for output highlighting.
Self-Hosting
CLI tool, Python package.
Key Features
- Human-friendly syntax
- JSON-first
- Colorized and formatted output
- Sessions
- Plugin architecture
- File uploads
- Downloads with progress bar
- Local and remote HTTPS
- Offline request preview
Comparison
| Tool | Syntax | JSON | Colors |
|---|---|---|---|
| HTTPie | Intuitive | Native | Yes |
| curl | POSIX | Manual | No |
| wget | POSIX | Manual | No |
| xh | Intuitive (fork) | Native | Yes (Rust) |
| Hurl | Own DSL | Native | Yes |
常见问题 FAQ
Q: 和 curl 对比? A: curl 是万能的(上传、socks、HTTP2/3、各种低层选项),HTTPie 是人性化的(REST/JSON 交互友好)。日常 API 调试用 HTTPie,底层细节用 curl。
Q: 有没有更快的? A: 有 xh(Rust 重写,启动更快,兼容 HTTPie 语法),但 HTTPie 插件生态更大。
Q: 支持 GraphQL 吗? A: 支持。有 httpie-plugin-graphql 或直接发 POST JSON body。
来源与致谢 Sources
- Docs: https://httpie.io/docs
- GitHub: https://github.com/httpie/cli
- License: BSD 3-Clause