擅长:python、mysql、java
<p>这看起来很棘手。在urllib2、urllib或httplib(它构建在其上)中没有用于截取输入或输出数据的钩子。在</p>
<p>除了切换策略使用外部工具(其中有很多,而且大多数人都使用这种工具),我唯一想到的就是编写插座.插座在您自己的新模块中(比如“capture_socket”),然后使用“import capture_socket;import httplib;httplib.socket=捕获插座”。你必须复制所有必要的参考资料(任何形式的资料)插座.foo“这是在httplib中使用的)到您自己的模块中,但是之后您可以重写子类中的recv()和sendall()之类的内容来处理数据。在</p>
<p>如果您使用SSL,可能会出现复杂情况,我不确定这是否足够,或者您是否还需要自己制作套接字。不过,这似乎是可行的,仔细研究一下资料来源httplib.py以及插座.py在标准图书馆里会告诉你更多。在</p>