• 【python爬虫】cookie & session


     

    一、什么是cookie?

      cookie是指网站为了鉴别用户身份,进行会话跟踪而存储在客户端本地的数据。

    二、什么是session?

      本来的含义是指有始有终的一些列动作,而在web中,session对象用来在服务器存储特定用户会话所需要的属性及信息。

    三、cookie和session产生的原因:

      cookie和session他们不属于http协议范围,由于http协议是无法保持状态,但实际情况,我们有需压保持一些信息,作为下次请求的条件,所有就产生了cookie和session。

    四、cookie的原理:

      1、由服务器产生,当浏览器第一次登录,发送请求到服务器,服务器返回数据,同时生成一个cookie返回给客户端,客户端将这个cookie保存下来。

      2、当浏览器再次访问,浏览器就会自动带上cookie信息,这样服务器就能通过cookie判断是哪个用户在操作。

    五、cookie的缺陷:

      1、不安全--保存在客户端。
      2、cookie本身最大支持4096(4kb)---存储大小受限。

    六、session的工作原理。

      1、正是因为cookie的缺陷,所有产生了另外一种保持状态的方法---session。
      2、服务器存储session,基于http协议的无状态特征,所以服务器就不知道这个访问者是谁。为了解决这个问题,cookie就起到了桥的作用。cookie在使用的过程中,将一个叫做sessionid的字段放到cookie中,将来服务器可以通过这个id字段来查找到地上那个用户的session。
      3、session的生命周期:当用户第一次登陆时创建(生命开始),到session有效期结束(30min)。

    七、当我们浏览器关闭,session是否就失效了?

      不失效,原因,session失效使用生命周期决定的。

    八、cookie组成:

      1、name:cookie名称,一旦创建,不可更改。
      2、value:该cookie的值
      3、domain:者cookie可以访问网站域名。
      4、maxage:cookie的失效时间。负数是永不失效。
      5、path:这个使用路径
      6、http字段:cookie的httponly,若次属性为true,则只有http头中会带此cookie。
      7、secrue:该cookie是否仅被使用安全传输协议。
      8、size:cookie的大小

    九、会话cookie和持久cookie。

      1、持久化:将内存中的数据存储到硬盘(文件中,数据库)上的过程。
      2、序列化:将对象保存到硬盘上。

        会话cookie:保存在内存中cookie,浏览器关闭,cookie失效。
        持久cookie:保存在硬盘上的cookie。

    十、用requests实现登陆:

      1、只需要将【登陆后的】cookie字段封装在请求头中。
      2、使用requests的session对象登陆
        session对象可以记录登陆状态。

      使用步骤

    #session:记录登陆状态
    se = requests.Session()
    data = {
         'email':'',
         'password':'',
         }
     
    #此时se对象就保存了登陆信息
    se.post(base_url,data = data,headers = headers)
     ------------------------------------------
    index_url = 'http://www.renren.com//profile'
    #用se对象来进行个人首页的访问,就可以了
    response = se.get(index_url,headers=headers)
    if '一棵树0108' in response.text:
        print('登陆成功!')
    else:
         print('登陆失败!')

     

     

     

  • 相关阅读:
    WebClient.UploadData 方法 上载文件数据
    webclient提交并接受返回
    webClient上载下载
    斯特林反演与伯恩赛德引理
    Re0: 从 1 开始的省选前生活
    Windows 8将可能带动触摸屏的发展
    后PC时代的那些事
    关于ASP网页在IIS7.5下访问数失效
    Windows 要终结了?微软要推超级系统?
    未来10年的开放式互联网
  • 原文地址:https://www.cnblogs.com/Tree0108/p/12070634.html
Copyright © 2020-2023  润新知