Cookies and Python
Timothy O'Malley
timo at alum.mit.edu
Mon Mar 6 22:08:43 EST 2000
More information about the Python-list mailing list
Mon Mar 6 22:08:43 EST 2000
- Previous message (by thread): How to know if OS is Win98 or NT ?
- Next message (by thread): Cookies and Python
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
hola. In article Newhard, Nick <nnewhard at origin.ea.com> wrote: > This is my first post to the Python List. Be gentle. Don't worry, you didn't mention anything about whitespace. You'll be fine. :) > The problem is, the cookie never seems to get saved between browser sessions That's because you never send it back to the client browser. You need to send the cookie value in the headers. This means you should send the cookie value IMMEDIATELY following the "Content-Type:" header. Here's an untested skeleton for what you propose (notice that I print the cookie 'ck' immediately after the content-type): import os, cgi, Cookie # First we create the cookie and form ck = Cookie.SmartCookie( os.environ.get("HTTP_COOKIE", "") ) form = cgi.FieldStorage() # Look for the username if ck.has_key("username") or form.has_key("username"): # There is a username present username = ck.get("username", form["username"]).value ck["username"] = username ck["username"]["path"] = "/" ck["username"]["expires"] = 10 * 365 * 24 * 3600 html_text = "<HTML><BODY>User is %s</BODY></HTML>" % username else: # There is no username present ck["username"] = "UNKNOWN" ck["username"]["path"] = "/" ck["username"]["expires"] = -3600 html_text = """ <pre>Enter your desired username:</pre> <form action="index.cgi" method="POST"> <input type="text" name="username"> </form> """ # Now send the resulting page print "Content-Type: text/html" print ck print print html_text
- Previous message (by thread): How to know if OS is Win98 or NT ?
- Next message (by thread): Cookies and Python
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list