Set the Cookie¶
There are two basic cookie operations. The first is to set the cookie as an HTTP header to be sent to the client. The second is to read the cookie returned from the client also as an HTTP header.
This script will do the first one placing a cookie on the client’s browser:
#!/usr/bin/env python
import time
# This is the message that contains the cookie
# and will be sent in the HTTP header to the client
print 'Set-Cookie: lastvisit=' + str(time.time());
# To save one line of code
# we replaced the print command with a '\n'
print 'Content-Type: text/html\n'
# End of HTTP header
print '<html><body>'
print 'Server time is', time.asctime(time.localtime())
print '</body></html>'
The Set-Cookie
header contains the cookie. Save and run this code from your browser and take a look at the cookie saved there. Search for the cookie name, lastvisit, or for the domain name, or the server IP like 10.1.1.1
or 127.0.0.1
.
The Cookie Object¶
The Cookie
module can save us a lot of coding and errors and the next pages will use it in all cookie operations:
#!/usr/bin/env python
import time, Cookie
# Instantiate a SimpleCookie object
cookie = Cookie.SimpleCookie()
# The SimpleCookie instance is a mapping
cookie['lastvisit'] = str(time.time())
# Output the HTTP message containing the cookie
print cookie
print 'Content-Type: text/html\n'
print '<html><body>'
print 'Server time is', time.asctime(time.localtime())
print '</body></html>'
It does not seem as much for this extremely simple code, but wait until it gets complex and the Cookie
module will be your friend.