如何在python中读取cookie

如何在python中读取cookie,python,cookies,cgi,Python,Cookies,Cgi,我是python cgi脚本的新手。我想用python阅读cookie。我尝试了以下代码: from urllib2 import Request, build_opener, HTTPCookieProcessor, HTTPHandler import cookielib #Create a CookieJar object to hold the cookies cj = cookielib.CookieJar() #Create an opener to open pages usi

我是python cgi脚本的新手。我想用python阅读cookie。我尝试了以下代码:

from urllib2 import Request, build_opener, HTTPCookieProcessor, HTTPHandler
import cookielib

#Create a CookieJar object to hold the cookies
cj = cookielib.CookieJar()

#Create an opener to open pages using the http protocol and to process cookies.
opener = build_opener(HTTPCookieProcessor(cj), HTTPHandler())

#Check out the cookies
print "the cookies are: "
for cookie in cj:
    print cookie
但是,我只看到
cookies是:
msg


我做错什么了吗?

如果您不使用
开启器
,则不会填充cookie jar

访问发布
设置Cookie
标题的网页

例如:

from urllib2 import Request, build_opener, HTTPCookieProcessor, HTTPHandler
import cookielib

#Create a CookieJar object to hold the cookies
cj = cookielib.CookieJar()

#Create an opener to open pages using the http protocol and to process cookies.
opener = build_opener(HTTPCookieProcessor(cj), HTTPHandler())

response = opener.open('http://google.com/') # <---
response.read()

#Check out the cookies
print "the cookies are: "
for cookie in cj:
    print cookie
来自urllib2导入请求、构建开启器、HTTPCookieProcessor、HTTPHandler
进口cookielib
#创建一个CookieJar对象来保存cookies
cj=cookielib.CookieJar()
#创建一个用于使用http协议打开页面和处理cookie的开场白。
opener=build_opener(HTTPCookieProcessor(cj),HTTPHandler())

响应=开启器。开启('http://google.com/')35;尝试以下方法来读取python中的cookie:

#!/usr/bin/python

import os

# Hello world python program
print "Content-Type: text/html;charset=utf-8";
print

handler = {}
if 'HTTP_COOKIE' in os.environ:
    cookies = os.environ['HTTP_COOKIE']
    cookies = cookies.split('; ')

    for cookie in cookies:
        cookie = cookie.split('=')
        handler[cookie[0]] = cookie[1]

for k in handler:
    print k + " = " + handler[k] + "<br>
#/usr/bin/python
导入操作系统
#Hello world python程序
打印“内容类型:文本/html;字符集=utf-8”;
打印
处理程序={}
如果os.environ中的“HTTP_COOKIE”:
cookies=os.environ['HTTP_COOKIE']
cookies=cookies.split(“;”)
对于cookie中的cookie:
cookie=cookie.split('='))
处理程序[cookie[0]]=cookie[1]
对于k in处理程序:
打印k+“=”+处理程序[k]+“

仍然只有“cookies是:”消息正在出现。重新“opener.open(')”,这里“将是我的网站。正确吗?@rpdev123,您的网站是否输出
设置Cookie
标题?请先使用
http://google.com/
首先。然后尝试您的网站url。(确保您的网站生成cookies。)仍然无法正常工作。re“您的网站输出是否设置了Cookie标题?“,该怎么办?@rpdev123,您可以使用浏览器的调试工具检查Http头,如Firebug中Chrome/
Net的
Developing Tools-Network选项卡中的
。是的,我可以在Firebug Net选项卡中的头中看到Cookie。”。这是我在firebug net选项卡中看到的标题中的cookie信息:cookie uu utma=150254709.575910388.1384512185.1386075091.1386077854.6__utmz=150254709.138451185.1.1.utmcsr=(直接)| UTMCN=(直接)| utmcmd=(无)__zlcmid=MKdN8V0sE0SPFc;gpv_p23=无%20值;s_nr=1388401890342重复;EuE=gs3t32u978nqsubopcrmifioi2;附属物d_1=100;merchantID_1=1;merchantPromoID_1=1;可能重复的
#!/usr/bin/python

import os

# Hello world python program
print "Content-Type: text/html;charset=utf-8";
print

handler = {}
if 'HTTP_COOKIE' in os.environ:
    cookies = os.environ['HTTP_COOKIE']
    cookies = cookies.split('; ')

    for cookie in cookies:
        cookie = cookie.split('=')
        handler[cookie[0]] = cookie[1]

for k in handler:
    print k + " = " + handler[k] + "<br>