首页 > 解决方案 > 计算通过网络接收的传入请求的大小

问题描述

我正在研究一个基于 ReverseProxy 的项目,我试图弄清楚如何计算整个传入请求的大小。即包括标题、正文和拖车。

由于速度很重要,我不想通过将解析请求的各个字段相加来计算它,而是在读取传入请求时寻找一种方法。

据我所见,“request.go”中的 readRequest 函数似乎是最合适的地方,但我不确定如何修改它或包装这个函数来计算大小。

标签: goreverse-proxy

解决方案


在这里找到了解决方案 -在 http.Handler ServeHTTP 函数中计算 Go 中发送和接收的字节数?

它可以修改为在反向代理场景中工作,并且完全符合我的要求。

更新:这个 Github 代码在最终解决方案中也非常有用。https://github.com/j0hnsmith/connspy

现在,当使用 Golang 作为反向代理时,我可以通过网络接收和发送原始数据

希望这对将来的人有所帮助


推荐阅读