一. 渊源
当我们浏览一个网页,比如逛淘宝,我们在上面进行了登录,然后看上了心仪的东西并加入了购物车。临时有事,把电脑关掉了,第二天再重新打开这个界面的时候,我们发现并没有进行登录操作,就已经登陆上去了,而且看了一下昨天的“足迹”和购物车,该在的还都在,这是为什么?如果过一段很长的时间,再去看的话,那个登录的程序我们还得再走一遍,这又是为什么?今天我们就以此作为一个引入,介绍一下今天的主角-----cookies,就是这个小饼干。
二. 实例介绍
当我们逛淘宝的时候,我们的登录信息会被记录下来,并保存在本地,短期内在再次登录的时候,它就会被检索,如果有,那么就会登陆上去,不需要二次登录,这个过程中,起作用的就是cookies。cookies还有一个好伙伴,是session,这个我们待会儿再说它。
很多时候,我们在百度一个东西后,如果在下面要进行评论,都必须进行登录。殊不知,你在登陆的时候,有一个东西一直在监视在你的一举一动。下来我们就具体分析这个过程。
三. 具体分析
我们以这个网站作为分析的对象:
https://wordpress-edu-3autumn.localprod.forc.work/wp-login.php
首先打开这个网站,输入账号:spiderman和密码:crawler334566,别着急点击登录,用的谷歌浏览器,使用快捷键“Ctrl+shift+i”,然后调出网页的源码,如下图所示:
把图中的“Preserve log”勾起来,然后点击左侧页面的登录即可。
可以看到,点击登录后,右侧也“燥起来了”:
我们点击那个wp-login.php,看到很多东西,点击最下面的Form Data,展开后就可以看到我们刚才被“监视”了,并且账号和密码也在这里一览无余,如图:
至此,我们就可以看到cookies的一个简要的作用,它把我们提交的表单信息(注册、登录这种的)保存了下来,下次再用的时候,就不用再次登录了,方便了很多。为啥就是cookies起的作用?我们再点开上面的“Response Headers”,可以看到set cookies的参数,set cookies的意思就是往浏览器写入了cookies,由此才知道cookies确实在这儿到了作用。
四. 代码实现(Python)
- 通过刚才的Form Data,我们可以看到在登录的时候,服务器的一个数据的保存。利用这个,我们现在向服务器发起登陆请求。
import requests
url = 'https://wordpress-edu-