[Tutor] I sure do love cookies.
Liam Clarke
cyresse at gmail.com
Tue Jul 5 03:41:52 CEST 2005
Hi,
Denise, if you're handling cookies client side, then this is how to do it
(code snippets taken from
http://www.voidspace.org.uk/python/articles/cookielib.shtml as I'm at work.)
import os.path
import urllib2
import cookielib
COOKIEFILE = 'cookies.lwp'
# the path and filename to save your cookies in
urlopen = urllib2.urlopen
Request = urllib2.Request
cj = cookielib.LWPCookieJar()
# This is a subclass of FileCookieJar
# that has useful load and save methods
if os.path.isfile(COOKIEFILE):
# if we have a cookie file already saved
# then load the cookies into the Cookie Jar
cj.load(COOKIEFILE)
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
urllib2.install_opener(opener)
#The above two lines initialise a opener which can handle cookies, and will
use our cookie jar
theurl = 'http://www.google.co.uk/search?hl=en&ie=UTF-8&q=voidspace&meta='
# an example url that sets a cookie,
# try different urls here and see the cookie collection you can make !
txdata = None
# if we were making a POST type request,
# we could encode a dictionary of values here,
# using urllib.urlencode(somedict)
txheaders = {'User-agent' : 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
}
# fake a user agent, some websites (like google) don't like automated
exploration
try:
req = Request(theurl, txdata, txheaders)
# create a request object
handle = urlopen(req)
# and open it to return a handle on the url
except IOError, e:
print 'We failed to open "%s".' % theurl
if hasattr(e, 'code'):
print 'We failed with error code - %s.' % e.code
elif hasattr(e, 'reason'):
print "The error object has the following 'reason' attribute :"
print e.reason
print "This usually means the server doesn't exist,',
print "is down, or we don't have an internet connection."
sys.exit()
else:
print 'Here are the headers of the page :'
print handle.info()
# handle.read() returns the page
# handle.geturl() returns the true url of the page fetched
# (in case urlopen has followed any redirects, which it sometimes does)
print
if cj is None:
print "We don't have a cookie library available - sorry."
print "I can't show you any cookies."
else:
print 'These are the cookies we have received so far :'
for index, cookie in enumerate(cj):
print index, ' : ', cookie
cj.save(COOKIEFILE)
-----
Phew! A bit of code, but that shows a simple usage(!) of it.
Good luck.
On 7/5/05, Kent Johnson <kent37 at tds.net> wrote:
>
> Danny Yoo wrote:
> > To make cookies, in the examples of the Cookie module will probably help
> > the most:
> >
> > http://www.python.org/doc/lib/cookie-example.html
> >
> >>From the documentation, it sounds like Cookie.SimpleCookie is what
> you're
> > looking for:
>
> My understanding is that the Cookie module is for server-side cookie
> handling. cookielib.Cookie integrates with cookielib.CookieJar for
> client-side cookie handling which is what Denise is looking for. Though
> possibly I am missing something...
>
> Kent
>
> _______________________________________________
> Tutor maillist - Tutor at python.org
> http://mail.python.org/mailman/listinfo/tutor
>
--
'There is only one basic human right, and that is to do as you damn well
please.
And with it comes the only basic human duty, to take the consequences.'
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.python.org/pipermail/tutor/attachments/20050705/d2398db2/attachment.htm
More information about the Tutor
mailing list