Форум сайта python.su
0
Есть cgi скрипт, который генерит html страничку с cookie. При входе браузером на сгенеренную страницу, браузер получает сгенеренный session и кучу дополнительных переменных в этой сессии.
Теперь когда браузер сохранил сессию, при последующем входе, этим же браузером, на ту же страницу, я хочу получить все переменные сессии тем же cgi-скриптом, через cookie от браузера, тут то и начинается проблема - я получаю только одну переменную cookie (Content), в данном примере это session.
Подскажите, пожалуйста куда “копать”?
Кусок кода прилагается:
from os import environ from os.path import join import Cookie import datetime import random try: import cgi, cgitb cgitb.enable() except ImportError: sys.stderr = sys.stdout #cookie def rendomcookie(length): return ''.join(random.choice("1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM") for i in range(length)) request_uri = environ['REQUEST_URI'] if environ.has_key('HTTP_COOKIE'): cookieget = environ.get("HTTP_COOKIE") cookie = Cookie.SimpleCookie(cookieget) else: expiration = datetime.datetime.now() + datetime.timedelta(days=1) cookie = Cookie.SimpleCookie() cookie["session"] = rendomcookie(30) # cookie["session"]["domain"] = ".example.com" cookie["session"]["path"] = request_uri cookie["session"]["expires"] = expiration.strftime("%a, %d-%b-%Y %H:%M:%S PST") print "Content-Type: text/html" print cookie.output() print print "Cookie set with: " + cookie.output() for i in environ: print i + '''=''' + environ[i] print "<br>" print '''<HTML> <HEAD> <TITLE>test</TITLE> </HEAD> <BODY> </BODY> </HTML>'''
Отредактировано Xman2007 (Окт. 17, 2013 13:04:15)
Офлайн
0
Разобрался. Браузер не передает сохраненные переменные одной cookie, такие как: Domain, Path, Created,…
…,передается Name и Content каждой куки которая была передана скриптом.
Например:
cookie = Cookie.SimpleCookie() cookie["session"] = rendomcookie(30) cookie["user"] = "test" cookie["name"] = "Vasya"
Z9a0g47ANawqMSelFKtn9xVftzPsF; name=Vasya; user=test
Офлайн