使用urllib2并尝试获取一个https页面时,它总是失败
Invalid url, unable to resolve
网址是 https://www.domainsbyproxy.com/default.aspx 但我在多个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失败了。
有线索吗?
您应该使用HTTPSHandler而不是HTTPHandler
如果您不介意外部库,请考虑优秀的^{} 模块。它用urllib处理这些怪癖。
使用^{} 的代码是:
相关问题 更多 >
编程相关推荐