HTTP代理最常见的用途是用于网络共享、网络加速和网络限制突破等。HTTP代理还可用于请求/响应内容修改,在不改变服务端的情况下为Web应用增加额外的功能或者改变应用行为等。HTTP代理收到请求后,根据Header中Host字段的主机名和Get/POST请求地址综合判断目标主机,建立新的HTTP请求并转发请求数据,并将收到的响应数据转发给客户端。在Python 3中,使用urllib。其中http和https相互独立。使用mitmproxy可以很方便的过滤、拦截、修改任意经过代理的HTTP请求/响应数据包,甚至可以利用它的scripting API,编写脚本达到自动拦截修改HTTP数据的目的。上面的脚本会在所有经过代理的Http响应包头里面加上一个名为BOOM的header。经过性能测试,发现mitmproxy的效率并不是特别高。

Python程序中设置HTTP代理

Python程序中设置HTTP代理

Python程序中设置HTTP代理