我正在尝试使用带有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提要?
答案 0 :(得分:0)
我没有解决urllib2的问题,但我发现你可以使用请求而不指定这样的授权:
import requests
r = requests.get('https://api.github.com', verify = False)
print r.read
并且摆脱了错误,因此您可以毫无问题地读取数据。