Python的urllib2的给“网络不可达错误”如果URL为https(Python urllib

2019-09-22 12:40发布

我试图获取使用的urllib2库某些URL。

a = urllib2.urlopen("http://www.google.com")
ret = a.read()

上面的代码工作的罚款,并给予预期的结果。 但是,当我做了HTTPS URL,它提供了“网络不可达”的错误

a = urllib2.urlopen("https://www.google.com")
urllib2.URLError: <urlopen error [Errno 101] Network is unreachable>

有没有使用SSL任何问题吗? 我的Python版本是Python2.6.5。 我还落后一个学术代理服务器。 我在bash文件中的设置。 总之,由于HTTP是开放代理不应该在这里是问题。

Answer 1:

通常在这样的情况下,问题是你的代理是具有一个过时的或不信任的SSL证书的背后。 urllib的比大多数浏览器fussier当涉及到SSL,这就是为什么你可能会得到这个错误。



Answer 2:

因为HTTP_PROXY变量设置已经在HTTP URL没有给出错误。 通过设置https_proxy上述错误消失。

export http_proxy = "http://{proxy-address}"

设置为samething https_proxy

export https_proxy = "http://{proxy-address}"


文章来源: Python urllib2 giving “network unreachable error” if the URL is https