我无法在请求库中使用代理字典。我正在使用虚拟环境并对其进行全面测试,并尝试访问httpbin.org/ip。我收到此错误:
requests.exceptions.ProxyError:HTTPSConnectionPool(host ='httpbin.org',port = 443):URL超过了最大重试次数:/ ip(由ProxyError('无法连接到代理服务器。',NewConnectionError(':失败)引起建立新的连接:[Errno 111]连接被拒绝',)))
这是我的代码:
import cgitb
import json
import requests
print ("Content-Type: text/html;charset=utf-8\n\n")
url = 'https://httpbin.org/ip'
proxyDict = {
'http' : 'http://123.234.250.000:8800',
'https' : 'https://123.234.250.000:8800',
}
print(proxyDict)
s = requests.Session()
response = s.get(url,proxies=proxyDict)
print(response.text)
(在这篇文章中,我用伪造的IP替换了IP)
当我从字典中删除https部分时,我可以工作,但是使用我计算机的IP地址。我在做什么错了?
更新: 字典是正确的,但是问题是主机服务器上的端口和防火墙设置。我将端口号添加到传出端口,此后它可以正常工作。因此,如果代理字典也有问题,请检查您使用的端口,以确保它不是防火墙问题。