加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 请求,绑定到一个ip

发布时间:2020-12-16 23:32:44 所属栏目:Python 来源:网络整理
导读:我有一个脚本,使用urllib2提出一些请求. 我使用技巧suggested elsewhere on Stack Overflow绑定另一个ip到应用程序,我的电脑有两个IP地址(IP A和IP B). 我想切换到使用 requests library.有人知道我能如何实现与该库相同的功能? 解决方法 查看请求模块,它看
我有一个脚本,使用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是失败的.我相信以上是你想要的,但是我没有一台双机器来测试.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读