Cherrypy 3.2会话坏了,还是我做错了?

时间:2012-02-08 07:06:01

标签: cherrypy

使用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}}

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

我遇到了同样的问题。我将tools.sessions.name添加到cherrypy配置中,现在它可以正常工作