HTTP Request Builder

CLI 工具用于构建、测试和保存 HTTP 请求,支持自定义头、认证、请求体和模板复用。

已扫描
适合谁
API 开发与测试人员、自动化脚本编写者
不适合谁
需要图形界面的用户、依赖复杂认证流程(如 OAuth)的用户
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
新手友好(★☆☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @derick001/http-request-builder

Skill 说明

命令、参数、文件名以原文为准

HTTP 请求构建器

功能说明

一个命令行工具,用于构建、测试和保存 HTTP 请求。支持自定义请求头、认证方式、请求体和 Cookie。可将请求保存为模板以重复使用,并维护请求历史记录。

主要功能:

  • 发送 HTTP 请求,支持 GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS 方法
  • 设置自定义请求头,通过键值对形式配置
  • 添加认证信息(Basic 认证、Bearer Token)
  • 包含请求体(JSON、表单数据、原始文本)
  • 管理请求 Cookie
  • 保存请求为模板(JSON 文件),便于复用
  • 加载并执行已保存的模板
  • 交互式模式,逐步构建请求
  • 命令行模式,适用于脚本和自动化
  • 请求历史记录,保存最近的 HTTP 调用

使用场景

  • 需要从终端快速测试 REST API 接口
  • 希望保存并复用复杂的 API 请求
  • 更倾向于使用命令行工具而非 Postman 等 GUI 应用
  • 需要在脚本中自动化 API 测试
  • 想与团队成员共享 API 请求配置
  • 正在调试 API 问题,需要重放请求

使用方法

基础命令:

# 发送 GET 请求
python3 scripts/main.py get https://api.example.com/data

# 发送带 JSON 请求体的 POST 请求
python3 scripts/main.py post https://api.example.com/api \
  --header "Content-Type: application/json" \
  --body '{"name": "test", "value": 123}'

# 使用 Basic 认证发送请求
python3 scripts/main.py get https://api.example.com/secure \
  --auth basic --username admin --password secret

# 使用 Bearer Token 发送请求
python3 scripts/main.py get https://api.example.com/secure \
  --auth bearer --token "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9"

# 保存请求为模板
python3 scripts/main.py post https://api.example.com/api \
  --header "Content-Type: application/json" \
  --body '{"name": "test"}' \
  --save-template my-request

# 加载并执行模板
python3 scripts/main.py template my-request

# 进入交互式模式
python3 scripts/main.py interactive

# 查看请求历史
python3 scripts/main.py history

# 清空历史记录
python3 scripts/main.py history --clear

示例

示例 1:简单的 GET 请求

python3 scripts/main.py get https://jsonplaceholder.typicode.com/posts/1

输出:

Response Status: 200 OK
Response Headers:
  content-type: application/json; charset=utf-8
  ...

Response Body:
{
  "userId": 1,
  "id": 1,
  "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
  "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"
}

示例 2:带 JSON 请求体和请求头的 POST 请求

python3 scripts/main.py post https://jsonplaceholder.typicode.com/posts \
  --header "Content-Type: application/json" \
  --header "X-API-Key: my-secret-key" \
  --body '{
    "title": "foo",
    "body": "bar",
    "userId": 1
  }'

示例 3:保存并复用请求模板

# 保存模板
python3 scripts/main.py post https://api.example.com/users \
  --header "Content-Type: application/json" \
  --header "Authorization: Bearer token123" \
  --body '{"name": "New User"}' \
  --save-template create-user

# 后续使用模板
python3 scripts/main.py template create-user

# 列出所有模板
python3 scripts/main.py templates

示例 4:交互式模式

python3 scripts/main.py interactive

交互式模式会引导你完成以下步骤:

  1. 选择 HTTP 方法
  2. 输入请求 URL
  3. 配置请求头
  4. 设置认证信息
  5. 输入请求体
  6. 发送请求并查看结果

系统要求

  • Python 3.x
  • requests 库(可自动安装,或通过 pip 安装)

缺失依赖项的安装方式:

pip3 install requests

限制说明

  • 本工具为命令行工具,不提供图形界面
  • 历史记录和模板存储在 ~/.http-request-builder/ 目录下的简单 JSON 文件中
  • 认证支持有限(仅 Basic 和 Bearer Token)
  • 不支持 OAuth、API Key 作为请求头或复杂认证流程
  • 不支持跨会话的 Cookie 持久化(Cookie 仅限单次请求)
  • 不支持代理配置
  • 不支持 SSL 证书验证控制
  • 不支持 WebSocket 或流式响应
  • 不具备高级功能,如响应校验或断言测试
  • 请求历史默认最多保留 100 条记录
  • 模板为简单 JSON 文件,未加密
  • 模板中不支持环境变量
  • 性能受 Python requests 库限制
  • 大体积响应体在显示时可能被截断
  • 不支持多部分表单数据文件上传
  • 无内置速率限制或重试机制
  • 不支持 HTTP/2 或 HTTP/3 协议

目录结构

工具数据存储于 ~/.http-request-builder/ 目录下:

  • templates/ - 已保存的请求模板(JSON 文件)
  • history.json - 请求历史日志
  • config.json - 配置文件(如有)

错误处理

  • 无效 URL 会返回清晰的错误提示
  • 网络超时时间为 30 秒
  • JSON 解析失败会显示具体出错内容
  • 缺失模板会提示找不到对应模板
  • 认证失败会建议正确的格式

贡献说明

本技能由 Skill Factory 开发。问题反馈和改进建议请通过 OpenClaw 项目提交。

D
@derick001

已收录 2 个 Skill

相关推荐