在 Android 上测试 API:口袋里的完整 REST、GraphQL 与 WebSocket 客户端
在你的 Android 手机上测试和调试 REST、WebSocket、GraphQL 与 SSE API。 PocketCode 内置完整的 HTTP 客户端——认证、脚本、环境、Mock Server 与代码生成——全部集成在 IDE 中。
API 总在最糟糕的时刻出问题:你不在电脑前,webhook 没有触发,而装着 Postman 的 笔记本又在家里。在 Android 上,通常的答案是"等回去再说"。PocketCode 消除了这段 等待——它内置了一个完整的 HTTP 客户端,让你无需第二个应用、也不用写一行胶水 代码,就能在手机上测试和调试 REST API。
这不是一个功能缩水的玩具。它是一个完整、专业级的 HTTP 客户端,就在你的编辑器、 终端和数据库管理器旁边。
它究竟能做什么
API Tester 支持四种协议,可通过编辑器上方的一个标签芯片 切换:
| 协议 | 用途 |
|---|---|
| REST (HTTP) | 经典的请求/响应客户端——8 种方法 |
| WebSocket | 实时双向连接(ws:// / wss://) |
| GraphQL | 查询、变更、订阅 + schema 内省 |
| SSE | 实时的 Server-Sent Events 流 |
对于 REST,它覆盖全部八种 HTTP 方法——GET、POST、PUT、PATCH、DELETE、HEAD、 OPTIONS 和 TRACE——每种都有专属配色,让你一眼扫过一个集合就能识别。
构建一个请求
请求编辑器由一个固定的 URL 栏加上一组可折叠的区块组成, 每个区块都有自己的强调色:
- URL 栏 —— 方法选择器、一个等宽字体的 URL 输入框,以及一个发送按钮,请求 进行中时会显示旋转指示器。
- Params —— 一个键/值编辑器,每一行都有启用/禁用的复选框和一个活动数量徽章, 这样你可以在不删除查询参数的情况下切换它们。
- Headers —— 同样的键/值编辑器,带有常见请求头的自动补全(Content-Type、 Accept、Authorization、Cache-Control、User-Agent……)。
- Body —— 十种 body 类型:JSON(带美化 / 压缩)、Form URL-Encoded、 Multipart(每个字段可选 TEXT 或 FILE,配有文件选择器)、Raw、XML、HTML、 JavaScript、Binary(发送原始文件)和 GraphQL。
任何可以输入值的地方——URL、请求头、body、认证、cookie——你都可以放入一个
{{variable}},它会在发送时被插值替换(下面会详细说明)。
认证,完整清单
这正是移动端 API 客户端通常力不从心的地方。PocketCode 支持十种认证方案,分为 常用卡片和一个高级区块:
- 常用: None、Bearer(token + 自定义前缀)、Basic、API Key (可选放在 Header 或 Query Param 中)。
- 高级: OAuth2(Authorization Code、Client Credentials、Password 或 Implicit 授权类型)、Digest、AWS Signature v4(access key、secret、 region、service、session token)、Hawk、NTLM,以及一个完全自定义 的请求头。
如果你需要对 AWS 请求签名,或访问企业级 NTLM 端点,都可以在手机上完成——毫不 妥协。
脚本与测试
每个请求前后各运行一个 JavaScript 钩子:
- **预请求脚本(pre-request script)**在发送之前运行——转换变量、计算时间戳、 生成签名。
- **测试脚本(test script)**在收到响应之后运行,使用广泛采用的
pm.test、pm.expect、pm.response断言 API。
有一个现成断言的菜单,这样你就不必手写它们:status is 200、status is 2xx、 response time < 500 ms、has JSON body、body not empty、has Content-Type header、JSON schema validation、body contains string 和 array length > 0。 编辑器下方的控制台面板会以 LOG / INFO / WARN / ERROR 级别记录所有内容。
读取响应
响应面板在顶部给出最重要的数字——状态码(按范围配色)、以毫秒计的总耗时、body 大小,以及协商出的协议和远程 IP。下方是各个标签页:
| 标签页 | 你能看到什么 |
|---|---|
| Body | Pretty(格式化后的 JSON/XML/HTML)、Raw、Preview(渲染后的 HTML),以及一个可折叠的 JSON Tree 视图 |
| Headers | 一个便于复制的表格 |
| Cookies | 带有 Secure / HttpOnly 徽章的行 |
| Timeline | DNS · TCP · TLS · TTFB · 内容传输 |
| Tests | 断言结果(名称、通过/失败、耗时) |
| Info | 元数据和完整的重定向链 |
你可以复制 body、分享它、保存它,或在其内部搜索并高亮匹配项——在小屏幕上很实用。
超越 REST
- WebSocket 连接会以聊天式的历史记录显示 SENT / RECEIVED 消息,支持自定义 握手请求头和子协议,处理 TEXT / BINARY / PING / PONG / CLOSE 帧,并提供 自动重连以及可再次发送的已保存消息模板。
- GraphQL 提供一个带 JSON 变量和可选操作名的查询编辑器、一个运行内省的 Fetch Schema 按钮,以及一个用于查看类型、字段和参数的 schema 浏览器。
- SSE 流会进入一个实时事件时间线(id、type、data、timestamp、retry),带有
过滤器、遵循服务器
retry的自动重连,以及用于恢复流的 Last-Event-ID 追踪。
保持井然有序
- **集合(Collections)**是分层的——集合 → 嵌套文件夹 → 请求——支持搜索、 重命名/删除,以及点击一下即可把任意请求重新载入编辑器。
- **历史(History)**保存你运行过的每一个请求,可按 URL 或名称搜索,按方法或 "仅加星标"筛选,并按今天 / 昨天 / 本周 / 更早分组。可为单条记录加星、重新发送 或删除。
- 环境(Environments)管理
{{variable}}集合。每个变量都有初始值和当前值、 一个描述、一个启用开关、一个隐藏值的 isSecret 标志,以及一个作用域 (Global / Environment / Collection / Local)。解析顺序为 Local → Collection → Environment → Global。 - 一个持久化的 cookie jar 会从每个
Set-Cookie自动填充自身,并显示 Secure / HttpOnly 徽章。
强力工具
- 从 cURL、Postman v2.1、Insomnia、OpenAPI 3.0 / Swagger(JSON 或 YAML)和 HAR 导入。导出在此清单基础上再加上 Markdown。
- 代码生成器把当前请求转换为可直接粘贴的代码,覆盖约 20 种语言和 HTTP
客户端——cURL、HTTPie、Wget、Fetch、Axios、Node、Python
requests、Java OkHttp、Swift URLSession、Gonet/http、PHP、Ruby、C#、Rust、Dart、PowerShell 等等——包含导入语句、请求头、body 和认证。 - 一个本地 Mock Server(Pro 套餐的一部分)会在设备上启动一个 HTTP 服务器
(默认端口 8090),每条路由定义一个方法、路径模式(
/users/:id)、状态、 请求头、body 和一个模拟延迟——并配有一份实时的传入调用日志。
你的数据留在设备上
集合、历史、环境和 cookie 都存储在你手机上的本地数据库中——我们绝不会把你的 请求或连接数据保存在我们的服务器上。在开发时,你可以为自签名证书关闭 SSL 验证、 通过 HTTP/HTTPS/SOCKS 代理转发,或附加一个客户端证书。而且因为它是 IDE 的一部分, 当你向 AI 助手询问你的 API 时,它甚至能看到你的集合。
测试一个 API 曾经意味着"回到电脑前"。现在不再如此。PocketCode 把一个专业级的 HTTP 客户端——REST、WebSocket、GraphQL 和 SSE——放进了你编写并发布代码的同一个 应用里。
PocketCode 即将登陆 Google Play。加入预注册,成为第一批 在自己设备上试用它的人。
API 测试器