เอามาจาก 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
ที่เราใส่ไว้