我想在获取某些js静态文件时获取用户的会话cookie:
class StaticFileHandler(web.StaticFileHandler):
@gen.coroutine
def get(self, path):
print ('got JS request from %s' % self.request.remote_ip)
print ('request.cookies : %s' % self.request.cookies)
super(StaticFileHandler, self).get(path)
但是,Cookie总是None
,即使我可以在浏览器中看到它设置了会话cookie。
我在这里做错了什么?在提供像这样的静态文件时是否无法获取cookie?
由于
答案 0 :(得分:1)
龙卷风文档警告不要覆盖StaticFileHandler get方法:http://tornado.readthedocs.org/en/latest/web.html#tornado.web.StaticFileHandler
"子类应该只覆盖本节中讨论的方法;覆盖其他方法容易出错。由于与compute_etag和其他方法的紧密耦合,覆盖StaticFileHandler.get特别成问题。"
我建议您尝试覆盖StaticFileHandler类的get_content
方法:
http://tornado.readthedocs.org/en/latest/web.html#tornado.web.StaticFileHandler.get_content