zoukankan      html  css  js  c++  java
  • 【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('登陆失败!')

     

     

     

  • 相关阅读:
    Eclipse 远程调试
    大数据处理方法bloom filter
    sicily 1259 Sum of Consecutive Primes
    sicily 1240. Faulty Odometer
    sicily 1152 简单马周游 深度优先搜索及回溯算法
    sicily 1050 深度优先搜索解题
    sicily 1024 邻接矩阵与深度优先搜索解题
    sicily 1156 二叉树的遍历 前序遍历,递归,集合操作
    sicily 1443 队列基本操作
    sicily 1006 team rankings 枚举解题
  • 原文地址:https://www.cnblogs.com/Tree0108/p/12070634.html
Copyright © 2011-2022 走看看