我正在尝试使用urllib2库获取一些网址。
a = urllib2.urlopen("http://www.google.com")
ret = a.read()
上面的代码工作正常,并给出了预期的结果。但是当我创建网址https时,它会出现“网络无法访问”错误
a = urllib2.urlopen("https://www.google.com")
urllib2.URLError: <urlopen error [Errno 101] Network is unreachable>
ssl有什么问题吗?我的python版本是Python2.6.5。我也是学术代理服务器的幕后推手。我有bash文件中的设置。无论如何,因为http是开放代理不应该是这里的问题。
答案 0 :(得分:1)
通常,像这样的情况下的问题是您拥有过期或不受信任的SSL证书的代理。在涉及到SSL时,urllib比大多数浏览器都更加繁琐,这就是为什么你可能会遇到这个错误。
答案 1 :(得分:1)
http url没有给出错误,因为已经设置了http_proxy变量。通过设置https_proxy,上述错误消失。
export http_proxy = "http://{proxy-address}"
为https_proxy
设置相同内容export https_proxy = "http://{proxy-address}"