您能告诉我如何在 HTTP 服务器本身接收请求之前预先更改请求吗?我正在为微控制器开发。以前,该应用程序在 MQTT 上工作,但随着项目的发展,需要一个新的 - 减少微控制器内存的负载和更稳定的解决方案。决定以HTTP协议为基础,但需要加密一点。也就是说,客户端不会向服务器发送“GET / HTTP/1.1\n\n”,而是更像base64的东西。
所以任务是动态解析请求,转换并发送一个正常的请求到ServeMux,它已经被正常处理了。但这是运气不好,我不知道如何在飞行中做到这一点。有没有人有任何简单的解决方案?
你想要的是一些变态。需要加密 - 使用 HTTPS。但是,您很幸运 Go 标准库可以容纳这种变态。首先,您需要自己的
net.Conn
:其次,拥有
net.Listener
,发行这些net.Conn
:第三,将其与
net/http.Server
:四、运行测试:
完整示例: https: //play.golang.org/p/RP6OKgSSOhV。