在當今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 編輯過