【问题标题】:Python requests.packages.urllib3.connection.VerifiedHTTPSConnection [Errno 11004]Python requests.packages.urllib3.connection.VerifiedHTTPSConnection [Errno 11004]
【发布时间】:2017-03-06 19:56:42
【问题描述】:

所以我对代理很不熟悉,但似乎对它们有疑问。我看到一堆看似相似的问题,但无法对答案做出正面或反面。

我编写了一些 Python (3.4.3) 代码,使用 requests 模块从 https:// 站点(我将其称为 https_url,因为它很长)迭代下载一堆 excel 文件

requests.get(https_url)

每当我在自己的工作笔记本电脑或家里的电脑上运行代码时,它都能正常工作,但如果工作中的其他人尝试使用它,他们会得到以下结果:

HTTPSConnectionPool(host='secure.conservation.ca.gov', port=443): Max retries exceeded with url: https_url (Caused by NewConnectionError('<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x000000000A8EE390>: Failed to establish a new connection: [Errno 11004] getaddrinfo failed',))

在此之后,我尝试使用 get 而不进行验证:

requests.get(https_url, verify=False)

再次无济于事。可以在我的机器上工作,但不能在其他人的机器上工作。

通过阅读其他答案,我尝试了另外两件事:

1) 从 certifi 之类的地方复制大约十几个不同的 .pem 文件,并将这些文件引用为 requests.get(https_url, verify=xyz.pem),这同样适用于我的机器(工作 + 家庭),但不能在其他人的机器上使用。

2) 下载我的 wpad.dat,并引用我认为该文件中包含的代理服务器:requests.get(https_url, proxies={'https': proxy_host:proxy_port}),我在所有机器上都获得以下信息:

HTTPSConnectionPool(host='secure.conservation.ca.gov', port=443): Max retries exceeded with url: https_url (Caused by ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 407 Proxy Authentication Required ( Forefront TMG requires authorization to fulfill the request. Access to the Web Proxy filter is denied. )',)))

我不知道下一步该尝试什么。我不明白是什么导致它在我的电脑上正常工作,但没有其他人在工作。当然,如果存在代理问题,它也会影响我的工作笔记本电脑吗?有什么想法吗?

谢谢!

【问题讨论】:

  • 我也有同样的情况,甚至except exceptions.ConnectionError: 似乎都没有抓住它。我的脚本正在记录:sh: urllib3.connection.VerifiedHTTPSConnection: No such file or directory 在控制台上。

标签: python https proxy ssl-certificate python-requests


【解决方案1】:

为我解决问题的方法是从 URL 字符串中删除“https://”。 我试图使用 f5 SDK,它要求:

x = BigIP('url', user, pass)

首先我尝试过:

x = BigIP(https://example.url.com, user, pass)

我遇到了与您描述的类似的错误,我解决了这个问题:

x = BigIP(example.url.com, user, pass)

希望这会有所帮助。

【讨论】:

  • 这可能有效,因为客户端使用未加密的 HTTP,而服务器允许它。所以在很多场景下它不是一个可以接受的解决方案。
  • 我和@FlorianWinter 一起讨论这个问题,特别是因为您的请求似乎还通过普通 http 提交用户凭据。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多