我有一个脚本,使用urllib2提出一些请求.
我使用技巧suggested elsewhere on Stack Overflow绑定另一个ip到应用程序,我的电脑有两个IP地址(IP A和IP B).
我想切换到使用requests
library.有人知道我能如何实现与该库相同的功能?
解决方法
查看请求模块,它看起来像使用httplib发送http请求. httplib使用socket.create_connection()连接到www主机.
import socket real_create_conn = socket.create_connection def set_src_addr(*args): address,timeout = args[0],args[1] source_address = ('IP_ADDR_TO_BIND_TO',0) return real_create_conn(address,timeout,source_address) socket.create_connection = set_src_addr import requests r = requests.get('http://www.google.com')
似乎httplib将所有的参数(到create_connection())作为args(vs关键字)传递,因为尝试扩展set_src_addr中的kwargs dict是失败的.我相信以上是你想要的,但是我没有一台双机器来测试.