如果你用过httpYac或者IntelliJ的.http文件格式,一定经历过这种场景:同事在GitHub issue里贴了一段请求示例,或者在Confluence文档里写了个接口调用。你想测试一下?得先复制到cURL,或者打开IDE新建文件。httpOwl想把这个步骤砍掉——它是一个浏览器扩展,能自动识别网页上的httpYac格式请求块,让你直接在页面上运行。
这东西怎么工作的?打开任何包含.http格式代码块的页面,GitHub文件视图、Confluence文档、内部wiki、原始文本文件都行。httpOwl会自动检测这些代码块,在每个请求旁边塞一个小药丸按钮。点一下,请求通过扩展的服务线程发出,没有跨域问题。结果直接显示在页面上:状态码、响应时间、断言通过还是失败。再点一下,弹出详细面板,完整的请求头、响应头、响应体都在里面。
![]()
自动检测这块做得比较细。它解析用###分隔的代码块,从
、、这些标签里提取。针对Confluence这类平台还有个特殊处理:有些wiki会把###渲染成HTML标题,httpOwl用"标题+代码"的策略来匹配,避免漏掉。UI设计上用了毛玻璃效果的小按钮,有四种状态:空闲、运行中、成功、错误,视觉上挺克制。</p>
断言引擎是客户端执行的,支持??开头的断言语法。比如status == 200检查状态码,body.items isArray验证返回结构,header content-type includes json看响应类型,还能做时长检查、正则匹配。详细面板里支持JSON美化打印,以及一键复制为cURL命令。侧边栏功能更全:请求列表、HTTP方法过滤、多选批量运行、环境变量管理。跑完一组请求可以下载一个自包含的暗色主题HTML报告。
变量系统分层设计。用# $shared开头的是共享变量,比如API_KEY=abc123、BASE_URL=https://api.example.com。下面可以跟具体环境,比如# dev里覆盖BASE_URL和TOKEN。请求里用{{KEY}}语法引用变量,URL、请求头、请求体里都能替换。如果变量没定义,对应的请求会显示为灰色禁用状态,视觉上很明显。
技术栈选了Manifest V3,TypeScript + Vite开发,Playwright做截图和图标生成。UI用Shadow DOM隔离,避免和宿主页面样式冲突。项目MIT协议开源,Chrome Web Store已经上架,Edge版本在开发中。GitHub仓库地址是https://github.com/ovsec/httpyac-browser,上游httpYac项目见https://httpyac.github.io。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.