来自HTTPS RSS提要的Urllib2数据请求返回垃圾字符

时间:2015-10-14 14:26:17

标签: python rss urllib2

我正在尝试使用带有Phyton 2.7及其urllib2库的HTTPS协议来阅读网站的RSS源。我不能使用feedparser。此代码段取自requests library github(我尝试使用但我不断收到这样的错误:requests.exceptions.SSLError: hostname 'kat.cr' doesn't match either of '*.kickass.so', 'kickass.so',谷歌搜索显示我不是唯一一个遇到这个精确错误的人

import urllib2

gh_url = 'https://kat.cr/movies/?rss=1'

req = urllib2.Request(gh_url)

password_manager = urllib2.HTTPPasswordMgrWithDefaultRealm()
password_manager.add_password(None, gh_url, 'user', 'pass')

auth_manager = urllib2.HTTPBasicAuthHandler(password_manager)
opener = urllib2.build_opener(auth_manager)

urllib2.install_opener(opener)

handler = urllib2.urlopen(req)

print handler.read()

我的问题是handler.read()的输出只是一堆垃圾字符。该代码适用于其他HTTPS网站(我尝试过,例如){或3}}或其他RSS Feed(我尝试过{' https://en.wikipedia.org/wiki/Main_Page')。

为什么它不适用于这个精确的RSS提要?

1 个答案:

答案 0 :(得分:0)

我没有解决urllib2的问题,但我发现你可以使用请求而不指定这样的授权:

import requests
r = requests.get('https://api.github.com', verify = False)
print r.read

并且摆脱了错误,因此您可以毫无问题地读取数据。