HTTP-Prompt 交互式 HTTP 客户端使用指南
项目概述
HTTP-Prompt 是一个基于 Python 开发的交互式命令行 HTTP 客户端工具,它构建在 HTTPie 之上,为用户提供了更加直观和高效的 API 测试与开发体验。与传统的 HTTP 客户端不同,HTTP-Prompt 采用类似 Shell 的交互模式,允许开发者在会话中逐步构建 HTTP 请求,特别适合 RESTful API 的调试和探索。
安装方法
HTTP-Prompt 可以通过多种方式安装,推荐使用 Python 的包管理工具 pip:
pip install http-prompt
对于系统级安装(不推荐),可以添加 sudo 权限:
sudo pip install http-prompt
或者安装到用户目录下:
pip install --user http-prompt
更新到最新版本:
pip install -U http-prompt
macOS 用户还可以使用 Homebrew 安装:
brew install http-prompt
快速入门
启动会话
启动 HTTP-Prompt 会话非常简单:
# 使用默认 URL 或恢复上次会话
http-prompt
# 指定初始 URL
http-prompt http://example.com
# 带初始参数启动
http-prompt api.example.com --auth user:pass param=value
基本操作
在会话中,你可以使用多种命令来构建请求:
-
导航 URL:
> cd api/v1 # 相对路径 > cd http://newhost.com/api # 绝对路径
-
添加请求参数:
# 请求头 > Content-Type:application/json # 查询参数 > page==2 # 请求体参数 > username=admin > full_name='John Doe' # JSON 格式参数 > age:=30 > active:=true > tags:=["dev","ops"]
-
预览请求:
> httpie
-
发送请求:
> get > post > put > delete
高级功能
会话管理
HTTP-Prompt 提供了完善的会话管理功能:
-
删除参数:
> rm -h Content-Type # 删除头 > rm -q page # 删除查询参数 > rm -b username # 删除请求体参数
-
保存和加载会话:
# 保存当前会话 > env > session.hp # 加载会话 > source session.hp
-
从命令行加载会话:
http-prompt --env session.hp
输出重定向
可以将命令输出保存到文件:
# 保存 HTTP 响应
> get /image.png > logo.png
# 保存会话状态
> env > config.hp
管道操作
支持将输出通过管道传递给其他命令:
# 处理输出
> httpie | grep "User-Agent"
# macOS 复制到剪贴板
> httpie | pbcopy
Shell 替换
使用反引号执行 shell 命令并将结果作为参数值:
> timestamp==`date +%s`
> api_key==`cat ~/.apikey`
配置与持久化
HTTP-Prompt 会在首次运行时创建配置文件:
- Linux/macOS:
~/.config/http-prompt/config.py
- Windows:
~/AppData/Local/http-prompt/config.py
配置文件采用 Python 语法,但无需编程知识即可修改。所有可配置选项都有详细注释。
会话状态会自动保存到:
- Linux/macOS:
~/.local/share/http-prompt/context.hp
- Windows:
~/AppData/Local/http-prompt/context.hp
OpenAPI/Swagger 集成
HTTP-Prompt 支持 OpenAPI/Swagger 规范,可以自动补全 API 路径和参数:
# 使用本地规范文件
http-prompt --spec api-spec.json
# 使用远程规范
http-prompt --spec https://example.com/swagger.json
在会话中使用 ls
和 cd
命令可以方便地浏览 API 端点。
最佳实践
-
敏感信息处理:避免在会话中存储密码等敏感信息,或确保用户数据目录权限正确设置(700)
-
团队协作:使用
env > shared.hp
将会话配置分享给团队成员 -
复杂请求构建:先使用
httpie
预览请求,确认无误后再发送 -
自动化集成:结合 shell 脚本实现自动化测试流程
HTTP-Prompt 通过其交互式特性和丰富的功能集,显著提升了 API 开发和测试的效率,是现代开发者工具箱中不可或缺的工具之一。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考