我开发了一个使用Tornado 4.2的相当大的Web应用程序。我的应用程序的其中一个处理程序负责通过发布请求验证用户的登录详细信息。ValueError:不安全的标头值
与set_secure_cookie特别是在此处理我用签字cookie来识别登录的用户及其权限,使用下面的代码:
self.set_cookie("user", self.get_argument("username"), domain=".my-domain.com", expires_days=None, httpOnly=True)
self.set_secure_cookie("access", str(data['permissions']), expires_days=None, httpOnly=True)
设置我用旋风的redirect饼干后给用户发送到另一个URL。
在大多数情况下,它按预期工作,没有任何问题。但是,对于某些用户,我收到以下错误。
self.redirect("/"+lang+"/base_fx.html")
File "/usr/lib/python2.7/dist-packages/tornado/web.py", line 671, in redirect
self.finish()
File "/usr/lib/python2.7/dist-packages/tornado/web.py", line 934, in finish
self.flush(include_footers=True)
File "/usr/lib/python2.7/dist-packages/tornado/web.py", line 884, in flush
self.add_header("Set-Cookie", cookie.OutputString(None))
File "/usr/lib/python2.7/dist-packages/tornado/web.py", line 339, in add_header
self._headers.add(name, self._convert_header_value(value))
File "/usr/lib/python2.7/dist-packages/tornado/web.py", line 369, in
_convert_header_value
raise ValueError("Unsafe header value %r", value)
ValueError: ('Unsafe header value %r', 'access="2|1:0|10:1485161516|6:access|3892:eydvd…<long string>..f0a2f8ad"; httponly; Path=/')
ERROR:tornado.general:Cannot send error response after headers written
有没有人遇到类似的问题?
感谢@Georg!所以问题是,我没有检查我的安装版本的来源,但最新的。感谢您指点我正确的方向,我已经投票并发布了解决方案:) – afxentios