【发布时间】: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