0

我在使用 feedparser 模块访问我的 Gmail Atom 提要时遇到问题。例如,对于像博客这样的非密码保护费用,

import feedparser

d = feedparser.parse('http://karanjthakkar.wordpress.com/feed/')
print d.feed.title

feedparser 模块返回的值是正确的。但是,当我使用它来访问我的 Gmail 提要时,

import urllib2, feedparser

def main():
 pwdmgr = urllib2.HTTPPasswordMgrWithDefaultRealm()
 pwdmgr.add_password("New mail feed", 'http://mail.google.com/', "karanjthakkar", "my-password")
 auth = urllib2.HTTPBasicAuthHandler(pwdmgr)
 opener = urllib2.build_opener(auth)
 data = opener.open('http://mail.google.com/mail/feed/atom')
 d = feedparser.parse(data)
 print d

if __name__ == '__main__'
 main()

我在捕获的提要中收到错误 401。这是捕获的内容:

截屏

我错过了什么吗?我不是CS背景,所以我所知道的就是我读过的。我打算使用捕获的 Gmail 提要来检查未读邮件的数量并使用 Arduino 显示它们。

4

1 回答 1

3

我对 HTTPDigestAuthHandler 没有运气,但能够让它与 HTTPBasicAuthHandler 一起工作。

import urllib2, feedparser

pwdmgr = urllib2.HTTPPasswordMgrWithDefaultRealm()
pwdmgr.add_password("New mail feed", 'http://mail.google.com/', username, password)
auth = urllib2.HTTPBasicAuthHandler(pwdmgr)
opener = urllib2.build_opener(auth)
data = opener.open('http://mail.google.com/mail/feed/atom')
d = feedparser.parse(data)
print d
于 2012-06-22T00:29:53.570 回答