Cookie Confusion - How to Set a Cookie
Hi - I am trying my hand at python cookies. I'm confused about a few things though. Do the python cookies get written to a cookies text file? I have simple code below -- I see the cookie in my HTTP header but do not get anything in the cookie text file. I'm working on linux. print "Content-type: text/html" cookie = Cookie.SimpleCookie() cookie['Test'] = 'abc' print cookie print Are there rules about where in the header the set cookie line should be? Thanks in advance! Christian -- http://mail.python.org/mailman/listinfo/python-list
Re: Cookie Confusion - How to Set a Cookie
On Apr 28, 1:37 pm, Aaron Watters <[EMAIL PROTECTED]> wrote:
> On Apr 28, 9:42 am, [EMAIL PROTECTED] wrote:
>
> > I see the cookie in my HTTP header
> > but do not get anything in the cookie text file. I'm working on
> > linux.
>
> > print "Content-type: text/html"
> > cookie = Cookie.SimpleCookie()
> > cookie['Test'] = 'abc'
> > print cookie
> > print
>
> > Are there rules about where in the header the set cookie line should
> > be?
>
> Hi Christian. I think the cookie can go anywhere in
> the header, but I usually put it before the content-type.
> If you want to store the cookie to a file,
> or even better, to a database of some sort, you have to
> do it yourself, the Cookie module doesn't do it for you,
> I hope.
>
> # store cookie to /tmp/cookie.txt
> file("/tmp/cookie.txt","w").write(str(cookie))
>
> For parsing cookies, I stole and modified this from
> the Django source (for use in a cgi script):
>
> ===
> from Cookie import SimpleCookie
> import os
>
> # stolen and modified from Django
> def parse_cookie(cookie=None, environ=None):
> if cookie is None:
> if environ is None:
> environ = os.environ
> cookie = environ.get('HTTP_COOKIE', '')
> if cookie == '':
> return {}
> c = SimpleCookie()
> c.load(cookie)
> cookiedict = {}
> for key in c.keys():
> cookiedict[key] = c.get(key).value
> return cookiedict
>
> ===
> All the best. -- Aaron Watters
>
> ===http://www.xfeedme.com/nucular/pydistro.py/go?FREETEXT=monster
Thanks for the code, Aaron. I will give it a try.
I've been reading some more about cookielib and am not sure whether I
should use Cookie or cookielib. This is what I want to do: a user is
going to login. Upon a successful login, I want to write their name
and date/time of visit to a cookie file. Which is the correct python
module to use?
--
http://mail.python.org/mailman/listinfo/python-list
Re: Cookie Confusion - How to Set a Cookie
On Apr 29, 3:35 pm, Aaron Watters <[EMAIL PROTECTED]> wrote: > > Thanks for the code, Aaron. I will give it a try. > > > I've been reading some more about cookielib and am not sure whether I > > should use Cookie or cookielib. This is what I want to do: a user is > > going to login. Upon a successful login, I want to write their name > > and date/time of visit to a cookie file. Which is the correct python > > module to use? > > Cookie does parsing and generation of cookie strings > for server-side applications like your CGI script. > > The cookielib module > is designed for either implementing a client like a web browser > or emulating a client/browser (for web scraping, for example). > > I think you want to use Cookie. > The distinction could be made clearer in > the docs, imho. > > Also, when you say "write the cookie file" I think you mean > "store the cookie to the client browser". This should happen > automatically when you send the cookie header to the client > correctly (if the client is configured to cooperate). > > -- Aaron Watters > > ===http://www.xfeedme.com/nucular/pydistro.py/go?FREETEXT=default+does+n... Sorry for the slow replies. I've been in & out with a sick child. I'm used to my javascript cookies. They are automatically written to a cookie.txt file in a .mozilla dir under my user. When I say to 'write the cookie file' this is what I was referring to. I was expecting my python cookie to automatically get written to the same file. I have't seen this happen yet. -- http://mail.python.org/mailman/listinfo/python-list
