2012-02-15 48 views
1

我想在我的開發機器上使用本地主機設置cookie。以下是我的web.py代碼。但是,當我在http://0.0.0.0:8080/的te bowser中運行代碼時,我得到一個頁面,但沒有設置cookie。 FYI主機名--fqdn等於「ubuntu」。這是我第一次嘗試設置cookie。我也嘗試過ubuntu,127.0.0.1以及doman。python,web.py並在本地主機上設置cookie

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' 
+0

PS我補充說:「0.0.0.0開發」到/ etc/hosts和使用域開發,但仍然沒有效果 – Tampa 2012-02-15 18:15:34

回答

1

你的例子似乎工作得很好。用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 
+0

謝謝,我看到在FF中的cookie,但沒有在文件中設置。所以...我在下次訪問時無法閱讀它。當我回到網站時,我想閱讀這個cookie,這樣我就可以用它做東西了。 – Tampa 2012-02-15 20:14:46

+0

@譚:你現在如何檢索cookie?請參閱我添加的代碼,使用該代碼可以毫無問題地檢索它。 – 2012-02-15 20:29:23

+0

cookie = web.cookies()。get('test') – Tampa 2012-02-15 21:06:22