首页 > 解决方案 > Python代理字典问题

问题描述

我在将代理字典与请求库一起使用时遇到问题。我正在使用虚拟环境并对其进行全面测试并尝试访问 httpbin.org/ip。我收到此错误:

requests.exceptions.ProxyError: HTTPSConnectionPool(host='httpbin.org', port=443): Max retries exceeded with url: /ip (Caused by ProxyError('Cannot connect to proxy.', 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 地址。我究竟做错了什么?

更新: 字典是正确的,但问题是我的托管服务器上的端口和防火墙设置。我将端口号添加到传出端口,之后它就可以正常工作了。因此,如果您的代理词典也有问题​​,请检查您使用的端口以确保它不是防火墙问题。

标签: pythonpython-requestsproxies

解决方案


推荐阅读