我试图跳过尚未使用feedparser和etags进行修改的RSS feed。遵循文档指南:http : //pythonhosted.org/feedparser/http-etag.htmlimport feedparserd = feedparser.parse('http://www.wired.com/wiredscience/feed/')d2 = feedparser.parse('http://www.wired.com/wiredscience/feed/', etag=d.etag)print d2.status输出:200该脚本不应该返回304吗?我的理解是,当RSS feed进行更新时,etag会发生变化,如果它们匹配,那么我应该得到304。为什么我没有得到预期的结果?
2 回答

largeQ
TA贡献2039条经验 获得超7个赞
Etag和最后修改的标头是两种独立的缓存技术。有些服务器使用其中一台,有些可能同时使用。如果要支持所有服务器的缓存,则应模拟浏览器的标准行为。现代浏览器同时发送etag和if-modified-since标头,因此您应该执行相同的操作。
添加回答
举报
0/150
提交
取消