编写浏览器与网站间HTTPS中转代理的技术咨询及代码问题
浏览器-网站中间层HTTPS代理实现片段
我正在开发一款部署在浏览器与网站通信链路中间的HTTPS代理,这款代理完全不关心HTTPS数据的具体内容,只负责完成浏览器和网站之间所有数据的双向转发工作。
下面是一段可运行的核心代码片段(基于NetworkStream实现数据流处理):
while(true) { using (MemoryStream ms = new MemoryStream()) { do { int length = (tcpclientBrowser.Available > 0) ? (tcpclientBrowser.Available) : (0); byte[] buff = new byte[length]; if (length != 0) streamBrowser.Read(buff, 0, length); // 此处省略了将读取到的浏览器数据转发至网站端NetworkStream的逻辑 // 同时还需要补充监听网站端回包并转发给浏览器的对称逻辑 } while (tcpclientBrowser.Available > 0); // 可在此处将MemoryStream中缓存的数据统一写入网站端的连接流 } }
这段代码的核心思路是持续监听浏览器侧的TCP连接,读取当前可用的全部数据,后续只需补充对应的反向转发逻辑,就能完成完整的双向数据透传。
内容的提问来源于stack exchange,提问作者kmeshavkin
相关产品推荐
相关产品推荐

