请求,绑定到ip

Gio*_*ino 11 python urllib2 python-requests

我有一个脚本,提出一些请求urllib2.

我使用Stack Overflow其他地方建议的技巧将另一个ip绑定到应用程序,我的计算机有两个ip地址(IP A和IP B).

我想切换到使用该requests.有谁知道我如何能够与该库实现相同的功能?

tMC*_*tMC 15

查看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')
Run Code Online (Sandbox Code Playgroud)

它似乎httplib将所有参数(to create_connection())传递为args(vs关键字),因为尝试扩展kwargs内部的dict set_src_addr失败了.我相信以上是你想要的,但我没有双待机器进行测试.