请求,绑定到ip

2024-05-14 20:41:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个脚本,它使用urllib2发出一些请求。

我使用技巧suggested elsewhere on Stack Overflow将另一个ip绑定到应用程序,其中我的计算机有两个ip地址(ip A和ip B)。

我想切换到使用^{} library。有人知道我怎样才能用那个库实现同样的功能吗?


Tags: 功能ip脚本应用程序技巧stackon地址
1条回答
网友
1楼 · 发布于 2024-05-14 20:41:24

查看requests模块,它似乎使用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())作为参数(vs关键字)传递,因为试图在set_src_addr中扩展kwargsdict失败。我相信以上是你想要的,但我没有一个双主机测试。

相关问题 更多 >

    热门问题