2011-09-24 70 views
1

天兒真好, 我下面的指導設置Cookie這裏找到:http://www.doughellmann.com/PyMOTW/Cookie/
具有代碼:檢索在Python服務器端

c = Cookie.SimpleCookie() 
c.load(HTTP_COOKIE) 

取回cookie的預先設定的(服務器) ,但我的服務器沒有HTTP_COOKIE變量,那麼我該怎麼辦呢?
我寧願繼續使用上述指南的方法,但如果有更好的東西,我願意考慮它。
否則,我沒有使用任何框架(只是原始的.py文件),並希望保持這種方式。
乾杯

+0

這些是說明API的代碼狙擊手。 HTTP_COOKIE是Cookie標題的*值*,您需要使用適合運行時環境的任何方法(如cgi-bin或wsgi)來獲取它。 – pyroscope

+0

啊是的,我現在用: 進口操作系統; os.environ ['HTTP_COOKIE']; – ProfSmiles

+0

如果您回答自己的問題並接受它,那麼它將成爲社區的服務:^) –

回答

0

在評論中討論的方法是:

import os 
def getcookies(): 
    cookiesDict = {} 
    if 'HTTP_COOKIE' in os.environ: 
     cookies = os.environ['HTTP_COOKIE'] 
     cookies = cookies.split('; ') 
     for cookie in cookies: 
      cookie = cookie.split('=') 
      cookiesDict[cookie[0]] = cookie[1] 
    return cookiesDict 

這將隨後返回cookies的字典作爲key -> value

cookies = getcookies() 
userID = cookies['userID'] 

,顯然你會再添加錯誤處理

然而,也有其他方法,例如,使用cookie module