作为程序员,每天都要和API打交道,开发和调试阶段都需要深入摸清楚API的内部情况。今天,我要向大家介绍一款免费的 API 调试、代理、抓包工具 —— EchoProxy。
一句话简介:EchoProxy = Fiddler + Charles + Postman
🎉一、强大功能,轻松上手
- HTTP/HTTPS 流量分析:EchoProxy 提供完整的网络调试工具套件,完全支持 HTTP2,能够帮助开发者彻底还原 bug 场景,让问题无处遁形。
- 多种过滤器:通过结合协议、内容类型、状态码、URL、域名、应用名称等复杂过滤条件,开发者可以轻松地使用多种过滤器来缩小搜索范围,快速定位问题。
- Map Mock:这是 EchoProxy 的核心功能之一。它易于学习和使用,能够优雅地映射 / 模拟 REST API 的请求 / 响应,为开发和测试带来极大的便利。
- 任意语言编写扩展:无论是 JavaScript、Python、Java 还是 Go 等编程语言,都可以用来编写 Map Mock 脚本扩展,让开发者能够根据自己的需求实现复杂逻辑。
- API测试EchoSend:只需点击一下,就可以重新发送任何捕获的请求,无需逐个输入 HTTP 字段,效率提高 100 倍。
🎉二、性能卓越,轻装上阵
EchoProxy 由 Golang 驱动,性能高,秒级启动,资源消耗低。安装文件大小仅为 8MB,不会给你的设备带来沉重负担。
截图中EchoProxy记录了2288条记录,占用的内存依然很少,且使用流畅。
🎉三、用户友好,体验至上
- 现代直观的用户界面:精心设计的界面,每个功能模块无缝集成,提供连贯的体验。让开发者在使用过程中能够轻松上手,快速掌握。
- Map Mock 乐趣十足:以有趣的方式进行请求 / 响应的映射和模拟,简化 API 调试和测试,提高效率。
- 简单如 JSON:基本语法类似于 JSON,易于快速掌握和学习。
🎉四、Map Mock脚本示例
修改request method:
on_request := func(env, req) {
return {
method: "POST"
}
}
修改request header:
on_request := func(env, req) {
// get value of Head-Example, if undefined returns X
example := string(req.header["Head-Example"], "X")
return {
header: {
"User-Agent": "EchoSend API Testing Client",
"Head-Example": "Hello " + example
}
}
}
修改该response body,在指定位置插入文本:
text := import("text")
on_response := func(env, res) {
// returns the index of substr in s, or -1 if not present
n := text.index(res.text, "EchoProxy")
if n >= 0 {
return {
body: res.text[0:n] + "powerful " + res.text[n:]
}
}
return {}
}
更多Map Mock脚本示例可以查看文档:docs.echolabx.com/mapmock/exa…
如果你正在为 API 抓包和调试而烦恼,那么不妨试试免费的 EchoProxy。它将为你的开发工作带来全新的体验,让你轻松应对各种挑战。
官方网址: www.echolabx.com/
Map Mock: docs.echolabx.com/mapmock