zoukankan      html  css  js  c++  java
  • python使用cookielib库示例分享

    Python中cookielib库(python3中为http.cookiejar)为存储和管理cookie提供客户端支持,下面是使用示例

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

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

    1. CookieJar

    CookieJar对象存储在内存中。

    复制代码 代码如下:

    >>> import urllib2
    >>> import cookielib
    >>> cookie=cookielib.CookieJar()
    >>> handler=urllib2.HTTPCookieProcessor(cookie)
    >>> opener=urllib2.build_opener(handler)
    >>> opener.open('http://www.google.com.hk')

    访问google的cookie已经被捕捉了,来看下是怎样的:

    复制代码 代码如下:

    >>> 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/>]>

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

    复制代码 代码如下:

    >>> 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

    2.将cookie捕捉到文件

    FileCookieJar(filename)

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

    MozillaCookieJar(filename)

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

    LWPCookieJar(filename)

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

    代码:

    复制代码 代码如下:


     import urllib2
    import cookielib
    def HandleCookie():
    #handle cookie whit file
         filename='FileCookieJar.txt'
         url='http://www.google.com.hk'
         FileCookieJar=cookielib.LWPCookieJar(filename)
         FileCookeJar.save()
         opener =urllib2.build_opener(urllib2.HTTPCookieProcessor(FileCookieJar))
         opener.open(url)
         FileCookieJar.save()
         print open(filename).read()      #read cookie from file
         readfilename = "readFileCookieJar.txt"
         MozillaCookieJarFile =cookielib.MozillaCookieJar(readfilename)
         print MozillaCookieJarFile       
         MozillaCookieJarFile.load(cookieFilenameMozilla)
         print MozillaCookieJarFile
     if __name__=="__main__":
         HandleCookie()

  • 相关阅读:
    (十一)Activitivi5之流程控制网关:连线
    (十)Activitivi5之启动流程/完成任务的时候设置流程变量
    (九)Activitivi5之使用 RuntimeService 设置和获取流程变量
    (八)Activiti之流程变量和局部流程变量
    (七)Activiti之历史活动查询和历史任务查询和流程状态查询
    (六)Activiti之实现学生请假流程
    (五)Activiti之查看最新版本的流程定义
    (五)Activiti之获取流程定义图片和流程定义删除
    (四)Activiti之流程定义部署之ZIP方式和流程定义查询
    java程序中执行HiveQL
  • 原文地址:https://www.cnblogs.com/Yemilice/p/6192653.html
Copyright © 2011-2022 走看看