Python urllib2与https网站一起失败

Python urllib2与https网站一起失败,python,urllib2,Python,Urllib2,使用urllib2并尝试获取https页面时,它总是失败 Invalid url, unable to resolve 网址是 但我在多个https站点上都遇到了这种情况 我正在使用Python2.7,下面是我用来设置连接的代码 opener = urllib2.OpenerDirector() opener.add_handler(urllib2.HTTPHandler()) opener.add_handler(urllib2.HTTPDefaultErrorHandler()) open

使用urllib2并尝试获取https页面时,它总是失败

Invalid url, unable to resolve
网址是 但我在多个https站点上都遇到了这种情况

我正在使用Python2.7,下面是我用来设置连接的代码

opener = urllib2.OpenerDirector()
opener.add_handler(urllib2.HTTPHandler())
opener.add_handler(urllib2.HTTPDefaultErrorHandler())
opener.addheaders = [('Accept-encoding', 'gzip')]
fetch_timeout = 12
response = opener.open(url, None, fetch_timeout)
我手动设置处理程序的原因是因为我不希望处理重定向(这很好)。上述方法对于http请求很好,但是https失败


任何线索?

< P>你应该使用HTTPSHANDER代替HTTPHandler

< P>你应该使用HTTPSHANDELL代替HTTPHandler < /P> < P>如果你不介意外部库,考虑优秀的模块。它通过urllib解决了这些怪癖

您使用的代码是:


如果您不介意外部库,请考虑优秀的模块。它通过urllib解决了这些怪癖

您使用的代码是:


有趣,我只是想。我想知道这是否意味着我还必须做HttpSdeFaultErrorHandlera显然HTTPSDefaultErrorHandler并不存在,我只是假设。我想知道这是否意味着我还必须做HTTPSDefaultErrorHandler显然HTTPSDefaultErrorHandler不存在这看起来很好,很遗憾我已经为我的项目编写了所有的代码,但将在将来使用。这看起来很好,很遗憾我已经为我的项目编写了所有的代码,但将在将来使用。
import requests
r = requests.get(url, headers={'Accept-encoding': 'gzip'}, timeout=12)