我正在为浏览器制作代理应用程序。它只能使用标准库。到目前为止,我已经设法创建了服务器。尝试从客户端访问网页时,我会收到以下信息:
CONNECT gmail.com:443 HTTP / 1.1 用户代理:Mozilla / 5.0 Firefox / 49.0 代理连接:保持活着 连接:保持活力 主持人:gmail.com:443
我的问题是:用什么来处理请求?如何处理文件下载?
答案 0 :(得分:1)
获得CONNECT
命令后,请执行以下操作:创建上游连接,并返回相应的成功/失败响应。如果上游连接成功,您现在要做的就是同时复制两个方向的字节。端点将负责所有SSL问题,上传,下载等。您无需再担任其他角色。
答案 1 :(得分:-1)
代理的一般行为如下:
我没有遇到更改请求/响应标头,缓存等问题。
现在,从上面开始,您正在与gmail.com refer建立SSL连接。
浏览器实际上是在发送正确的请求,在这种情况下,您需要实现握手并连接到gmail,并使用HTTPS卸载SSL,并通过协商的SSL将接收到的响应发送给浏览器。
建议使用HTTP而不是HTTPS,如果这不是生产分级系统并首先尝试概念