gpt4 book ai didi

Python 无法将请求绑定(bind)到网络接口(interface)

转载 作者:太空宇宙 更新时间:2023-11-03 13:49:59 24 4
gpt4 key购买 nike

我无法使用请求代理通过我的本地 ip 连接到 https192.168.1.55是我本地的ip

如果我隐藏代理的 https 行,它可以工作,但我知道它实际上并没有使用代理

import requests

ipAddress = '192.168.1.55:80'
proxies = {
"http": "%s" % ipAddress,
#"https": "%s" % ipAddress,
}

url = 'https://www.google.com'
res = requests.get(url, proxies=proxies)
print res

结果:响应[200]

import requests

ipAddress = '192.168.1.55:80'
proxies = {
"http": "%s" % ipAddress,
"https": "%s" % ipAddress,
}

url = 'https://www.google.com'
res = requests.get(url, proxies=proxies)
print res

结果:

requests.exceptions.ProxyError: HTTPSConnectionPool(host='www.google.com', port=443): 最大重试次数超过 url:/(由 ProxyError('无法连接到代理。', error('Tunnel连接失败:400 错误请求',)))

我也尝试过支持 HTTPS 协议(protocol)的外部 VPN 服务器,即使取消隐藏 https 代理线路,它也可以工作

我有多个 IP,想在请求中使用指定的 IP。我在使用 python 2.7 的 Win 10 上运行它,我怀疑这是由于 SSL 问题,尚未在这里确认专业知识。 (我想我没有正确处理 SSL)我尝试了很多方法来处理 SSL,到目前为止没有成功。

最佳答案

您可以尝试将 requests 绑定(bind)到选定的适配器/IP,但首先安装 requests_toolbelt

pip install requests_toolbelt

然后

import requests
from requests_toolbelt.adapters.source import SourceAddressAdapter

# default binding
response = requests.get('https://ip.tyk.nu/').text
print(response)

# bind to 192.168.1.55
session = requests.Session()
session.mount('http://', SourceAddressAdapter('192.168.1.55'))
session.mount('https://', SourceAddressAdapter('192.168.1.55'))
response = session.get('https://ip.tyk.nu/').text
print(response)

关于Python 无法将请求绑定(bind)到网络接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53556884/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com