使用cherrypy 3.2运行python 3,并且遇到了许多问题。首先,为了让cookie工作,我不得不在/ etc / hosts中伪造一个fqdn。
e.g.
http://test:8080 [no cookies]
http://test.local:8080 [cookies work]
在此之后,我尝试让会话正常工作,但每次都会获得一个新的会话ID,并且浏览器中的任何地方都没有设置任何session_id值。
class HelloWorld:
@cherrypy.expose
def index(self, *args):
print("\n\n")
### test cookies (works fine, no problems)
print(cherrypy.request.cookie)
cherrypy.response.cookie['c1'] = 'val1'
cherrypy.response.cookie['c1']['max-age'] = '3600'
cherrypy.response.cookie['d1'] = 'val2'
cherrypy.response.cookie['d1']['max-age'] = '3600'
### test sessions (doesn't work)
print(cherrypy.session.load()) # always returns None
print(cherrypy.session.id) # different every refresh
print(cherrypy.session.get('foo')) # always returns None
cherrypy.session['foo'] = 'bar'
cherrypy.session.save() # apparently has no effect
return "Hello world!"
有人可以提供一些建议或建议吗?我发现即使我的其他值是。
,也没有在chrome中设置会话ID的cookie我的配置如下:
'/': {'tools.sessions.on': True,
'tools.sessions.timeout': 7200}}
有什么想法吗?
答案 0 :(得分:2)
我遇到了同样的问题。我将tools.sessions.name
添加到cherrypy配置中,现在它可以正常工作