Python 请求,绑定到ip
我有一个脚本,它使用Python 请求,绑定到ip,python,urllib2,python-requests,Python,Urllib2,Python Requests,我有一个脚本,它使用urllib2发出一些请求 我使用这个技巧将另一个ip绑定到应用程序,其中我的计算机有两个ip地址(ip A和ip B) 我想切换到使用。有人知道我如何使用该库实现相同的功能吗?查看请求模块,它似乎使用httplib发送http请求httplib使用socket.create_connection()连接到www主机 了解并遵循您提供的链接中的猴子修补方法: import socket real_create_conn = socket.create_connection
urllib2
发出一些请求
我使用这个技巧将另一个ip绑定到应用程序,其中我的计算机有两个ip地址(ip A和ip B)
我想切换到使用。有人知道我如何使用该库实现相同的功能吗?查看
请求
模块,它似乎使用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
将所有参数(tocreate_connection()
)作为参数(vs关键字)传递,因为尝试扩展kwargs
内的dictset_src_addr
失败。我相信以上是您想要的,但我没有双主机可供测试。您是否尝试过您提供的链接中提到的猴子补丁方法?没用吗?我从未研究过请求
库,但在其中的某个地方必须创建一个套接字。请求使用urllib3,而且您所追求的功能似乎属于后者。是的,刚刚也测试了这个。使用nc-nlvp8080
我得到默认IP的输出,而不是绑定IP的输出。