Теперь когда браузер сохранил сессию, при последующем входе, этим же браузером, на ту же страницу, я хочу получить все переменные сессии тем же 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>'''
Вывод браузера при первом запросе:
##
Cookie set with: Set-Cookie: session=gf4bxMDyc7PtdkdIKiMHbBK09AoA1k; Domain=.example.com; expires=Fri, 18-Oct-2013 11:53:22 PST; Path=/python/
AUTH_TYPE=Basic
SERVER_SOFTWARE=Apache/2.2.25 (FreeBSD) PHP/5.4.16 mod_ssl/2.2.25 OpenSSL/0.9.8y DAV/2
SCRIPT_NAME=/python/index.cgi
SERVER_SIGNATURE=
REQUEST_METHOD=GET
…skip
##
Вывод браузера при последующих запросах (когда сессия браузером уже сохранилась):
##
Cookie set with: Set-Cookie: session=vXi6cTs9tr6XQgINYCkG8u1w3rH4bk
AUTH_TYPE=Basic
HTTP_COOKIE=session=vXi6cTs9tr6XQgINYCkG8u1w3rH4bk; session=vXi6cTs9tr6XQgINYCkG8u1w3rH4bk
SERVER_SOFTWARE=Apache/2.2.25 (FreeBSD) PHP/5.4.16 mod_ssl/2.2.25 OpenSSL/0.9.8y DAV/2
SCRIPT_NAME=/python/index2.cgi
SERVER_SIGNATURE=
REQUEST_METHOD=GET
…skip
##
Z9a0g47ANawqMSelFKtn9xVftzPsF; name=Vasya; user=test