HTTP-Prompt 交互式 HTTP 客户端使用指南

HTTP-Prompt 交互式 HTTP 客户端使用指南

http-prompt An interactive command-line HTTP and API testing client built on top of HTTPie featuring autocomplete, syntax highlighting, and more. https://twitter.com/httpie http-prompt 项目地址: https://gitcode.com/gh_mirrors/ht/http-prompt

项目概述

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

基本操作

在会话中,你可以使用多种命令来构建请求:

  1. 导航 URL

    > cd api/v1  # 相对路径
    > cd http://newhost.com/api  # 绝对路径
    
  2. 添加请求参数

    # 请求头
    > Content-Type:application/json
    
    # 查询参数
    > page==2
    
    # 请求体参数
    > username=admin
    > full_name='John Doe'
    
    # JSON 格式参数
    > age:=30
    > active:=true
    > tags:=["dev","ops"]
    
  3. 预览请求

    > httpie
    
  4. 发送请求

    > get
    > post
    > put
    > delete
    

高级功能

会话管理

HTTP-Prompt 提供了完善的会话管理功能:

  1. 删除参数

    > rm -h Content-Type  # 删除头
    > rm -q page  # 删除查询参数
    > rm -b username  # 删除请求体参数
    
  2. 保存和加载会话

    # 保存当前会话
    > env > session.hp
    
    # 加载会话
    > source session.hp
    
  3. 从命令行加载会话

    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

在会话中使用 lscd 命令可以方便地浏览 API 端点。

最佳实践

  1. 敏感信息处理:避免在会话中存储密码等敏感信息,或确保用户数据目录权限正确设置(700)

  2. 团队协作:使用 env > shared.hp 将会话配置分享给团队成员

  3. 复杂请求构建:先使用 httpie 预览请求,确认无误后再发送

  4. 自动化集成:结合 shell 脚本实现自动化测试流程

HTTP-Prompt 通过其交互式特性和丰富的功能集,显著提升了 API 开发和测试的效率,是现代开发者工具箱中不可或缺的工具之一。

http-prompt An interactive command-line HTTP and API testing client built on top of HTTPie featuring autocomplete, syntax highlighting, and more. https://twitter.com/httpie http-prompt 项目地址: https://gitcode.com/gh_mirrors/ht/http-prompt

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赵鹰伟Meadow

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值