WebCurl:Postman替代品,一款极简的网页版 API 调试神器!
|
admin
2025年7月28日 12:24
本文热度 145
|
在当今API驱动的开发环境中,开发者们经常需要高效的工具来测试和调试各种HTTP接口。WebCurl作为一个极致轻量、跨平台、无依赖的HTTP请求转发与调试工具,为开发者提供了网页版的API测试解决方案。
简介
WebCurl是GitHub上一个名为"极简网页版API调试神器"的开源项目。
与Postman、Insomnia等传统API测试工具不同,WebCurl采用了完全不同的设计哲学——极简主义与无依赖架构,打造了一个无需安装、开箱即用的网页版解决方案 。
这个项目的核心目标是解决传统API调试工具的几大痛点:
- • 复杂臃肿: 许多API工具功能过于繁杂,启动缓慢
- • 隐私担忧: 部分商业化工具需要注册账户并上传API数据
WebCurl通过其独特的设计,完美应对了这些挑战,成为接口开发、调试和测试的理想选择。
技术架构
WebCurl的技术架构体现了"少即是多"的设计理念:
- • 前端: 纯原生
HTML+JS+CSS
实现,不依赖任何第三方库或框架,保证了极致的加载速度和运行效率 。 - • 后端: 仅使用Golang标准库,没有任何外部依赖,确保了安全性和可靠性 。
- • 代码精简: 整个项目仅包含2个文件——
index.html
和main.go
,代码结构清晰,易于理解和维护 。
这种架构使得WebCurl的编译产物仅为一个约14MB的单一二进制文件(包含前端页面),真正实现了"一次编译,到处运行"的跨平台体验 。
功能特点
核心功能
- • 网页版Postman体验:无需安装客户端,浏览器即用,界面美观,功能丰富。
- • HTTP 请求转发:接口通过
/api/forward
接口将请求参数提交给前端,立即代为转发并返回结果,突破浏览器跨域限制。 - • 支持HTTP CONNECT代理隧道:支持HTTP CONNECT方式,可作为HTTPS/SSH等协议的代理隧道,适用于curl、ssh、ncat等工具的代理转发。
- • 多种请求体支持:支持
form-data
(含多文件上传)、x-www-form-urlencoded
、json
、text
、xml
、binary
。 - • 文件上传/下载:支持多文件上传,响应内容可直接下载。
- • 请求重试与超时:可配置重试次数、重试间隔、超时时间。
- • SSL 验证与重定向:选择是否验证 SSL 证书、是否自动跟踪重定向。
- • 接口功能丰富:接口历史、接口集合、变量替换、全局请求头、导入导出等。
- • 命令行灵活配置:支持自定义监听地址、端口、静态目录、日志、SSL证书等。
- • 最大轻量:单个二进制文件,体积仅约10M,部署、迁移、搬运方便。
- • 无依赖、易运维:不需要数据库、不需要外部依赖,直接运行。
- • 跨平台/信创兼容:支持主流网络及国产软硬件平台,适合信创环境、内网、离线等特殊场景。
- • 网络协议支持:完美支持 IPv4 和 IPv6 网络协议,适应各种网络环境。
- • 实时通信支持:初步支持WebSocket和SSE(Server-Sent Events),满足实时数据需求。
EchoServer 调试服务
- • 智能请求回显:自动解析并回显请求的URL、方法、请求头、请求体(文本、表单、文件、二进制等)。
- • 灵活的响应控制:支持通过自定义请求头或URL参数灵活控制响应内容和行为。
- • 多种响应格式:支持JSON、XML、Text等多种响应格式。
- • 响应延迟控制:可自定义响应延迟时间,模拟网络延迟场景。
- • 流式通信支持:SSE和WebSocket接口支持流式数据本体。
- • 自定义数据队列:支持默认响应数据,实现自定义流式自适应。
静态文件服务器
- • 完整文件服务:类似Nginx的静态文件服务器功能,支持所有常见文件类型。
- • 丰富的MIME支持:自动识别HTML、CSS、JS、图片、音频、视频、字体等文件类型。
- • CORS支持:内置跨域资源共享支持,适合前端开发。
常用工具
- • JWT解析:支持一键JWT Token,快速查看Payload信息,即可调试鉴权接口。
- • UUID生成:支持生成标准UUID,方便接口测试与数据填充。
- • 时间转换:支持毫秒/秒时钟与日期时间的相互转换,适配多个场景。
- • Base64编码解码:支持Base64字符串的编码与解码,其次处理二进制与文本数据。
- • Token生成器:支持自定义规则生成随机Token,适合接口测试、模拟登录等场景。
快速开始
安装与运行
从GitHub仓库下载预编译的二进制文件
# 编译
go build -o WebCurl main.go
# 也可以使用 sh build.sh 命令
# 运行(默认 0.0.0.0:4444,内嵌前端页面)
./WebCurl
# 浏览器访问
http://localhost:4444
命令行选项
WebCurl支持多种启动参数以满足不同需求:
例如,要在9000端口运行并启用HTTPS:
./webcurl -p 9000 -s -c /path/to/cert
界面预览


开源地址
https://github.com/o8oo8o/WebCurl
该文章在 2025/7/28 12:24:28 编辑过