python、web.py 和在localhost上设置cookie

1 投票
1 回答
1230 浏览
提问于 2025-04-17 13:05

我在我的开发机器上使用localhost设置一个cookie。下面是我的web.py代码。但是,当我在浏览器中运行代码,访问http://0.0.0.0:8080/时,页面是显示出来了,但没有设置cookie。顺便提一下,hostname --fqdn的结果是“ubuntu”。这是我第一次尝试设置cookie。我还试过ubuntu、127.0.0.1以及其他域名。

class index:
    def GET(self):
        env = web.ctx['environ']
        qs = urlparse.parse_qs(env['QUERY_STRING'])
        #Set cookie
        web.setcookie('test', "rtb", expires=3600, domain='localhost', secure=False)
        return 'test'

1 个回答

2

你的例子看起来运行得很好。我用Firebug工具查看了响应,发现cookie也正常显示:

test=rtb; Domain=localhost; expires=Wed, 15-Feb-2012 20:08:02 GMT; Path=/

顺便说一下,尽量在代码中提供完整的上下文,这样会更好。我之所以测试你的代码片段,是因为我知道如何设置一个基本的web.py应用程序,urlparse在urllib2里等等。但如果你能让别人更容易理解你的问题,通常会得到更多的帮助。

你可以通过添加一个类似下面的类来获取cookie(记得把它链接到你路由列表中的另一个路径):

class cookie:
    def GET(self):
        cookie = web.cookies().get('test')
        return cookie

撰写回答