在當(dāng)今API驅(qū)動的開發(fā)環(huán)境中,開發(fā)者們經(jīng)常需要高效的工具來測試和調(diào)試各種HTTP接口。WebCurl作為一個極致輕量、跨平臺、無依賴的HTTP請求轉(zhuǎn)發(fā)與調(diào)試工具,為開發(fā)者提供了網(wǎng)頁版的API測試解決方案。
簡介
WebCurl是GitHub上一個名為"極簡網(wǎng)頁版API調(diào)試神器"的開源項目。
與Postman、Insomnia等傳統(tǒng)API測試工具不同,WebCurl采用了完全不同的設(shè)計哲學(xué)——極簡主義與無依賴架構(gòu),打造了一個無需安裝、開箱即用的網(wǎng)頁版解決方案 。
這個項目的核心目標(biāo)是解決傳統(tǒng)API調(diào)試工具的幾大痛點:
- ? 復(fù)雜臃腫: 許多API工具功能過于繁雜,啟動緩慢
- ? 隱私擔(dān)憂: 部分商業(yè)化工具需要注冊賬戶并上傳API數(shù)據(jù)
- ? 內(nèi)網(wǎng)限制: 企業(yè)內(nèi)網(wǎng)環(huán)境難以使用云端服務(wù)
WebCurl通過其獨特的設(shè)計,完美應(yīng)對了這些挑戰(zhàn),成為接口開發(fā)、調(diào)試和測試的理想選擇。
技術(shù)架構(gòu)
WebCurl的技術(shù)架構(gòu)體現(xiàn)了"少即是多"的設(shè)計理念:
- ? 前端: 純原生
HTML+JS+CSS
實現(xiàn),不依賴任何第三方庫或框架,保證了極致的加載速度和運行效率 。 - ? 后端: 僅使用Golang標(biāo)準(zhǔn)庫,沒有任何外部依賴,確保了安全性和可靠性 。
- ? 代碼精簡: 整個項目僅包含2個文件——
index.html
和main.go
,代碼結(jié)構(gòu)清晰,易于理解和維護 。
這種架構(gòu)使得WebCurl的編譯產(chǎn)物僅為一個約14MB的單一二進制文件(包含前端頁面),真正實現(xiàn)了"一次編譯,到處運行"的跨平臺體驗 。
功能特點
核心功能
- ? 網(wǎng)頁版Postman體驗:無需安裝客戶端,瀏覽器即用,界面美觀,功能豐富。
- ? HTTP 請求轉(zhuǎn)發(fā):接口通過
/api/forward
接口將請求參數(shù)提交給前端,立即代為轉(zhuǎn)發(fā)并返回結(jié)果,突破瀏覽器跨域限制。 - ? 支持HTTP CONNECT代理隧道:支持HTTP CONNECT方式,可作為HTTPS/SSH等協(xié)議的代理隧道,適用于curl、ssh、ncat等工具的代理轉(zhuǎn)發(fā)。
- ? 多種請求體支持:支持
form-data
(含多文件上傳)、x-www-form-urlencoded
、json
、text
、xml
、binary
。 - ? 文件上傳/下載:支持多文件上傳,響應(yīng)內(nèi)容可直接下載。
- ? 請求重試與超時:可配置重試次數(shù)、重試間隔、超時時間。
- ? SSL 驗證與重定向:選擇是否驗證 SSL 證書、是否自動跟蹤重定向。
- ? 接口功能豐富:接口歷史、接口集合、變量替換、全局請求頭、導(dǎo)入導(dǎo)出等。
- ? 命令行靈活配置:支持自定義監(jiān)聽地址、端口、靜態(tài)目錄、日志、SSL證書等。
- ? 最大輕量:單個二進制文件,體積僅約10M,部署、遷移、搬運方便。
- ? 無依賴、易運維:不需要數(shù)據(jù)庫、不需要外部依賴,直接運行。
- ? 跨平臺/信創(chuàng)兼容:支持主流網(wǎng)絡(luò)及國產(chǎn)軟硬件平臺,適合信創(chuàng)環(huán)境、內(nèi)網(wǎng)、離線等特殊場景。
- ? 網(wǎng)絡(luò)協(xié)議支持:完美支持 IPv4 和 IPv6 網(wǎng)絡(luò)協(xié)議,適應(yīng)各種網(wǎng)絡(luò)環(huán)境。
- ? 實時通信支持:初步支持WebSocket和SSE(Server-Sent Events),滿足實時數(shù)據(jù)需求。
EchoServer 調(diào)試服務(wù)
- ? 智能請求回顯:自動解析并回顯請求的URL、方法、請求頭、請求體(文本、表單、文件、二進制等)。
- ? 靈活的響應(yīng)控制:支持通過自定義請求頭或URL參數(shù)靈活控制響應(yīng)內(nèi)容和行為。
- ? 多種響應(yīng)格式:支持JSON、XML、Text等多種響應(yīng)格式。
- ? 響應(yīng)延遲控制:可自定義響應(yīng)延遲時間,模擬網(wǎng)絡(luò)延遲場景。
- ? 下載響應(yīng)控制:支持將響應(yīng)內(nèi)容作為文件下載。
- ? 流式通信支持:SSE和WebSocket接口支持流式數(shù)據(jù)本體。
- ? 自定義數(shù)據(jù)隊列:支持默認(rèn)響應(yīng)數(shù)據(jù),實現(xiàn)自定義流式自適應(yīng)。
- ? 健壯性保障:內(nèi)置恐慌恢復(fù)機制,防止服務(wù)崩潰。
靜態(tài)文件服務(wù)器
- ? 完整文件服務(wù):類似Nginx的靜態(tài)文件服務(wù)器功能,支持所有常見文件類型。
- ? 豐富的MIME支持:自動識別HTML、CSS、JS、圖片、音頻、視頻、字體等文件類型。
- ? 高性能:支持大文件傳輸,內(nèi)置存儲控制。
- ? CORS支持:內(nèi)置跨域資源共享支持,適合前端開發(fā)。
- ? 移動接口:支持移動設(shè)備訪問,響應(yīng)式設(shè)計。
常用工具
- ? JWT解析:支持一鍵JWT Token,快速查看Payload信息,即可調(diào)試鑒權(quán)接口。
- ? UUID生成:支持生成標(biāo)準(zhǔn)UUID,方便接口測試與數(shù)據(jù)填充。
- ? 時間轉(zhuǎn)換:支持毫秒/秒時鐘與日期時間的相互轉(zhuǎn)換,適配多個場景。
- ? Base64編碼解碼:支持Base64字符串的編碼與解碼,其次處理二進制與文本數(shù)據(jù)。
- ? Token生成器:支持自定義規(guī)則生成隨機Token,適合接口測試、模擬登錄等場景。
快速開始
安裝與運行
從GitHub倉庫下載預(yù)編譯的二進制文件
# 編譯
go build -o WebCurl main.go
# 也可以使用 sh build.sh 命令
# 運行(默認(rèn) 0.0.0.0:4444,內(nèi)嵌前端頁面)
./WebCurl
# 瀏覽器訪問
http://localhost:4444
命令行選項
WebCurl支持多種啟動參數(shù)以滿足不同需求:
例如,要在9000端口運行并啟用HTTPS:
./webcurl -p 9000 -s -c /path/to/cert
界面預(yù)覽


開源地址
https://github.com/o8oo8o/WebCurl
該文章在 2025/7/28 12:24:28 編輯過