免密登录,了解一下?

作者好懒,好久没发表文章了,那今天就来一发?
在技术面试中,我们经常会遇到这样的问题,cookice和session 的区别? 那么这2者到底是干嘛的?
在客户端浏览器向服务器发送请求,服务器做出响应之后,二者便会断开连接(一次会话结束)。那么下次用户再来请求服务器,服务器没有任何办法去识别此用户是谁
cookie可以向服务器证明用户身份 ,我们的web系统中是不是需要将用户的详细信息储存在某个位置供页面调用呢?用户的详细信息就包括姓名,年龄,性别等信息。而cookie是存在于客户端的,将用户详细信息通过网络发送到客户端保存是极不安全的。且cookie大小不能超过4k,不能支持中文。这就限制cookie不能满足存储用户信息的需求。这就需要一种机制在服务器端的某个域中存储一些数据,这个域就是session。

总而言之,cookie/session的出现就是为了解决http协议无状态的弊端,为了让客户端和服务端建立长久联系而出现的。

简单的说,
1、Cookie和Session都是会话技术,Cookie是运行在客户端,Session是运行在服务器端

结合上述的知识点,那么我们是否可以通过cookie 实现免密登录呢? 不妨我们来测试一下?

环境准备:
## 一、python环境

brew安装。或者是官网下载安装包,直接装都行

二、selenium

pip3 install selenium 【不加版本默认下载最新版】

如果遇到网络报错就加个国内的镜像

pip3 install selenium -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

三、下载浏览器的driver驱动

注意事项: selenium3.x版本开始不再提供默认浏览器支持,所有浏览器都是通过各个浏览器官方提供相应的浏览器驱动进行支持,这使得运行在各种浏览器上的自动化测试更稳定。

1.下载的版本和浏览器位数,取决于你使用的操作系统的类型和位数(64bit或32bit),虽然浏览器的版本位数和操作系统的位数没有映射关系,但是为了防止出现驱动浏览器的问题,建议尽量保持版本一致。

2.浏览器的版本和驱动版本存在映射关系,下载使用时需注意,如果两个版本不匹配selenium将无法驱动浏览器

实战:(上代码)

方法一:

首先我们进行手动登录拿到cookies, 并打印出来,拿到登录信息后,在添加到进去,就可以实现我们的登录了。

image.png

方法二:

以某东为例


image.png

这么多信息,你一条条的添加,岂不累死? 那么方法二来了

方法二:
以json 形式存储在本地到一个文件当中, 来,我们继续看代码
当然用这种方法别忘记在前面加上!
import json

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 我们都知道 HTTP 是无状态的,用户每次打开 web 页面时,服务器都打开新的会话,而且服务器也不会自动维护客户...
    头顶一根发的程序猿阅读 513评论 0 2
  • 上网原理 1、爬虫概念 爬虫是什麽? 蜘蛛,蛆,代码中,就是写了一段代码,代码的功能从互联网中提取数据 互联网: ...
    riverstation阅读 8,292评论 1 2
  • 我们都知道 HTTP 是无状态的,用户每次打开 web 页面时,服务器都打开新的会话,而且服务器也不会自动维护客户...
    GoPython阅读 1,374评论 0 1
  • 1 爬虫高级 1.1 动态HTML处理和机器图像识别 爬虫(Spider),反爬虫(Anti-Spider),反反...
    创造new_world阅读 428评论 0 0
  • [TOC] 1.基本概念 爬虫就是获取网页并提取和保存信息的自动化程序 1.HTTP基本原理理 1.URI和URL...
    文化银儿阅读 1,715评论 0 0