首页 > 编程语言 > 详细

Python中Cookie的处理(二)

时间:2014-02-01 14:55:50      阅读:510      评论:0      收藏:0      [点我收藏+]

Python中cookielib库(python3中为http.cookiejar)为存储和管理cookie提供客户端支持。

该模块主要功能是提供可存储cookie的对象。使用此模块捕获cookie并在后续连接请求时重新发送,还可以用来

处理包含cookie数据的文件。

这个模块主要提供了这几个对象,CookieJar,FileCookieJar,MozillaCookieJar,LWPCookieJar。

CookieJar对象存储在内存中。

bubuko.com,布布扣
>>> import urllib2
>>> import cookielib
>>> cookie=cookielib.CookieJar()
>>> handler=urllib2.HTTPCookieProcessor(cookie)
>>> opener=urllib2.build_opener(handler)
>>> opener.open(http://www.google.com.hk<addinfourl at 161806444 whose fp = <socket._fileobject object at 0x9a348ac>>
bubuko.com,布布扣

访问google的cookie已经被捕捉了。

来看下是怎样的:

bubuko.com,布布扣
>>> print cookie
<cookielib.CookieJar[<Cookie NID=67=B6YQoEIEjcqDj-adada_WmNYl_JvADsDEDchFTMtAgERTgRjK452ko6gr9G0Q5p9h1vlmHpCR56XCrWwg1pv6iqhZnaVlnwoeM-Ln7kIUWi92l-X2fvUqgwDnN3qowDW for .google.com.hk/>, <Cookie PREF=ID=7ae0fa51234ce2b1:FF=0:NW=1:TM=1391219446:LM=1391219446:S=cFiZ5X8ts9NY3cmk for .google.com.hk/>]>
bubuko.com,布布扣

看来是Cookie实例的集合,Cookie实例有name,value,path,expires等属性:

bubuko.com,布布扣
>>> for ck in cookie:
...     print ck.name,:,ck.value
... 
NID : 67=B6YQoEIEjcqDj-adada_WmNYl_JvADsDEDchFTMtAgERTgRjK452ko6gr9G0Q5p9h1vlmHpCR56XCrWwg1pv6iqhZnaVlnwoeM-Ln7kIUWi92l-X2fvUqgwDnN3qowDW
PREF : ID=7ae0fa51234ce2b1:FF=0:NW=1:TM=1391219446:LM=1391219446:S=cFiZ5X8ts9NY3cmk
bubuko.com,布布扣

FileCookieJar(filename)

创建FileCookieJar实例,检索cookie信息并将信息存储到文件中,filename是文件名。

MozillaCookieJar(filename)

创建与Mozilla cookies.txt文件兼容的FileCookieJar实例。

LWPCookieJar(filename)

创建与libwww-perl Set-Cookie3文件兼容的FileCookieJar实例。

bubuko.com,布布扣
  2 import urllib2
  3 
  4 def HandleCookie():
  5 
  6     #handle cookie whit file
  7     filename=FileCookieJar.txt
  8     url=http://www.google.com.hk
  9     FileCookieJar=cookielib.LWPCookieJar(filename)
 10     FileCookeJar.save()
 11     opener =urllib2.build_opener(urllib2.HTTPCookieProcessor(FileCookieJar))
 12     opener.open(url)
 13     FileCookieJar.save()
 14     print open(filename).read()
 15 
 16     #read cookie from file
 17     readfilename = "readFileCookieJar.txt"
 18     MozillaCookieJarFile =cookielib.MozillaCookieJar(readfilename)
 19     print MozillaCookieJarFile        
 20     MozillaCookieJarFile.load(cookieFilenameMozilla)
 21     print MozillaCookieJarFile
 22 if __name__=="__main__":
 23     HandleCookie()
bubuko.com,布布扣

Python中Cookie的处理(二)

原文:http://www.cnblogs.com/linxiyue/p/3536960.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!