HTTP/HTTPS 代理,单个 Python 脚本即可实现
此脚本适用于 Python 2.7。 你需要安装 OpenSSL 才能拦截 HTTPS 连接。
只需作为脚本运行:
$ python proxy2.py
上述命令将在 localhost:8080 上运行代理。 在同一台主机的另一个终端中输入以下命令来验证其是否正常工作。
$ http_proxy=localhost:8080 curl http://www.example.com/
proxy2 是为调试/测试而设计的,因此它只接受来自 localhost 的连接。
要使用其他端口,请将端口号作为第一个参数指定。
$ python proxy2.py 3128
要拦截 HTTPS 连接,请生成私钥和私有 CA 证书:
$ ./setup_https_intercept.sh
通过该代理,你可以访问 http://proxy2.test/ 并在浏览器中安装 CA 证书。
你可以轻松地自定义代理、修改请求/响应或将内容保存到文件中。 ProxyRequestHandler 类提供了 3 个可自定义的方法:
默认情况下,仅实现了 save_handler,它会将 HTTP(S) 标头和一些有用的数据输出到标准输出。