python: วิธีใช้งาน Cookie

เอามาจาก ug's Python CGI scripts: cookie.py

การเซ็ต Cookie
สร้างไฟล์ชื่อ setcookie.py

#!/usr/bin/env python
import Cookie

c1 = Cookie.SimpleCookie()
# Create a cookie in c1
# This will be temporary and will disappear when the session is closed
c1["cracker"] = "hello"
# The RFC says you should always set this but it seems to work ok without it
c1["cracker"]["version"] = 1

# Create another one
c1["bisquit"] = "whatever"
# Make the browser store it for one hour
c1["bisquit"]["max-age"] = 3600 # Time to keep, in seconds
c1["bisquit"]["expires"] = 3600 # Obsolete, but Netscape still seems to require it
c1["bisquit"]["version"] = 1

# Print the headers that sets the cookies
print c1

# Show html page
print "Content-type: text/html\r\n"
print "<h1>Cookie is set</h1>"

สั่งรันจากบราวเซอร์หนึ่งครั้ง Cookie จะถูกเก็บเข้าในเครื่องของ Client

การรับ Cookie
สร้างไฟล์ชื่อ getcookie.py

#!/usr/bin/env python
import Cookie, os

# Show html page
print "Content-type: text/html\r\n"
print "<h1>Get cookie</h1>"

try:
    cookie = os.environ["HTTP_COOKIE"]
    print "HTTP_COOKIE="+cookie
    print "<p>"
    c2 = Cookie.SimpleCookie()
    c2.load(os.environ["HTTP_COOKIE"])
    print "<pre>"
    print c2
    print "</pre>"

    print 'c2["bisquit"].value =', c2["bisquit"].value, "<br />\n"
    print 'c2["cracker"].value =', c2["cracker"].value
except:
    print "No cookies were received"

สั่งรันจากบราวเซอร์ จะเห็นตัวแปร bisquit และ cracker ที่เราใส่ไว้

Topic: