00:00
啊,通过刚刚的一个演示啊,其实我们发现了这个cookie呢,是保存在客户端的。是保存在客户端的,那么大家注意看看哈,那么我们知道大家注意。呃,客户端有了cookie以后啊,每次请求就会发送给服务器,那服务器怎么得到客户端的发的这个cookie呢?我们来看一下啊,服务器如何获取这个cookie,那其实很简单。服务器获取客户端的cookie只需要一行代码,只需要一行代码,那就是什么东西呢?request.get cookies。那么它就会返回cookie对象的这个数组。他就会把客户端发过来的,所有的空隙都得到了,来我给大家演示一下哈,就一行代码,好,那么我们在这里啊,在。
01:00
再复制一份。啊,再复制一份,咱们把这个方法改了叫做get cookie啊,就是获取了嘛,那么如何获取,咱们刚刚说了就一行代码,特别简单,request.get cookies,大家看一下。返回时库数组吧,好接收一下。那么我们可以遍历一下这个cookie。啊,便利一下这个cookie。OK,然后呢,输出给客户端,咱们来做一下哈,就是get right.right。咱们说cookie。啊。那么这个cookie是什么东西呢?Name等于value。这个name是cookie.get name,大家看这个方法是干嘛?返回cookie的名称。
02:08
Get name方法返回cookie这个键是吧,就是key了啊,或者说是名称。好,那么再来看。等于。cookie.get value,这是干嘛呢?Get value方法返回cookie的value值。就这样子啊,反过这个纸,然后呢,咱们让他换喊一下。换行的话,浏览器指认BR啊,咱们写上来,好,那接着我们访问下这个方法。
03:00
我复制一下放到页面上,咱们给它放上来,再复制这个地址。好了,这个方法呢就改了,我们来反问看一下服务器是不是能够得到,而且服务器又是怎么得到,咱们看看哈这效果。呃,我们重新部署一下吧,安全一点啊,让这个代码它生效。好,然后接着咱们继续看一下哈火刷新刷新。这个地址已经改过来,大家看这里能看见了吧?是吧,有了哈,然后我们点击一下。点击。大家看见了吗?这些cookie就都发过来了,包含上面这一个cookie。啊,虽然就是这个酷IE不是咱们创建的,但是他也发过来了,哎,也发过来了,好,你看cookie都能看见了,他是怎么得到的呢?咱们看一下细节。刚刚我们点击获取的时候,它其实执行的是这个请求啊,那我们看一下大家注意看,在请求里面这里有个cookie,看见吗?Cookie里面后面是什么?后面是多个建制队,每个建子队其实就是我们在这里看到的这些cookie的信息。
04:21
哎,再确认一下哈,再看。就这个嘛,这是一个cookie,这是一个cookie,这是一个cookie,这是一个cookie,看见吧,好,这就是cookie的。获取了。那我们说明一下哈,Cookie是这样子的,一开始呢,是他在浏览器这边有了是吧,哎,就是客户端浏览器有了cook。有了cookie如下。啊,就比如说是这样子的,然后这个是G等于Y61。
05:03
就这种啊,然后呢,他就发请求。呃,大家注意看一下哈,这是服务器啊,服务器那么一开始。大家看它怎么有的呀,我把这东西删掉。他发球到这边来。哎,通过请求头。通过请求图什么东西呢?Cookie把什么呢?Cookie信息发送给。服务器。某某某等于某某某啊,就这样子好了,这个某某某呢,就是什么东西,比如说上面这种。就下面这种。
06:00
好,我把它拿上来。啊,我这里去掉钱有点多啊,咱们就留下一个就行了,示意一下。留下一个试一下,诶通过这个呢,把cookie发送给服务器,那服务器怎么获取啊,大家注意看,就一行API是吧?哎,那么获取客户端发送过来的cookie只需要一行代码。只需要一行代码,那就是。注意看request点盖和cookies。哎,这个返回的是什么东西呢?返回cookie数组。就这样子返回cookie的数组,好这个呢,咱们了解一下,了解一下,那么得到这个cookie之后,其实咱们已经输出给到客户端了,也能看见了,是吧,没问题啊,没问题啊,这是得到全部的cookie,那么大家注意在开发的时候啊,我们可能不是诶需要用到全部的cookie,可能只需要用到某一个个别的cookie,比如说我只用这个cookie。
07:10
那有同学不进,就想他老师,那我我只要COOKIE2,我有没有什么办法能直接从request里面得到指定的这个cookie啊,大家看一下。Get cookie有吗?我们很期待的就是它能够像map一样,我给他传这个key,它给我返回对应这个cookie,但是其实是没有这方法,大家看见了吗?只有get cookies得到全部的cook方法。那怎么办呢?这个时候我们只能够在便利的这个过程当中去判断这个cookie,大家看看哈,叫做cookie叫I one cookie等于now,哎,就是我们要获取cookie,先给他个not值,然后注意看啊,大家看一下在这里面。
08:04
你不是要获取某个cookie吗?你只能够在便利的过程当中去判断,比如说我要KR,你就判断一下。什么东西呢,Cookie,哎呀。Cookie点盖name,如果这个cookie的名称和这个P2相同怎么办?I want cookie?那么就等于这个cookie。就可以腐值了,就可以腐值了,哎,这咱们了解一下,哎,最好呢,是在重新并例一次,这样好一点啊,因为上面的病例就输出这样好一点,咱们把这个拿过来。那上面就不用这么写了,把它去掉啊。那这里呢,就不需要输出,大家看只需要这个判断,如果找到了以后啊,咱们可以跳出这个循环嘛,是吧,终止这个循环。哎,重视这个循环,然后在下面这个地方一定要记得判断一下I want cookie。
09:07
不等于,那这里为什么要做判断呢?为什么做判断大家注意看一下哈,如果说找到这个cookie呢,它肯定是有值的,如果找不到的话,它的一个初始值什么是now,那么我们可以通过判断是吧?哎,如果如果不等于now说明负过值,也就是找到了需要的cookie,就这样子,那我们可以输出了啊,Response。Get right right。咱们说找到了需要的cookie。是吧,找到了需要的cookie,好,就打印一句话就行了,OK,我们看这句话有没有打印出来啊,重新部署一下。
10:03
咱们刷新。啊,部署好了哈,咱们来请求一下。走这是不是有啊,就找到了咱们样的一个方体,那么大家注意向便利。像这种便利查找cookie的操作呀,是非常常用的。非常常用的,那么我们可以怎么办呢?经常我们在项目应用的时候,会写一个工具类啊,会把这个查找的一个操作呀,诶给它提取出来啊,那么怎么办呢?在这边。我们溜一个包。U或者U条包啊,然后呢,写个类。叫做cookie,好,这里呢提供一个工具方法,Public sta,然后cook。
11:03
Find cookie。导包OK,然后这里的参数是什么东西呢?Name,还有就是cookie的数组,好怎么查找呢?先说明一下哈。这先做掉,咱们说name这个地方大家看啊,这是干嘛呢,查找指定名称的cookie对象啊,好了,我解开它,If得先判断一下,大家看到这里要先判断一下,判断什么东西呢?也就是说name不等于空。啊,或者是等等于空吧,等等于空。或者IES等等于哄,或者cookies.length等等于零,那么只要任何一种条件成立,大家看一下,咱们就在这个地方return啊,Return now,好,这咱们了解为啥呀,你想想你名称的抖音到了,那找啥cookie啊,直接返回闹不就完了吗?或者说你这边根本就没有传队来cookie,那也找不了,肯定找不到了,或者长等于零,那也是没有的,那你就直接流程了啊,否则的话,那么你就进来就开始去循环,呃,咱们说cookie.for循环,然后在这里面判断一下说什么东西呢?name.e.cookie.get name就行了。
12:46
就判断嘛,是吧,哎,那么有同学可能会担心,老师这里会不会有控制异常啊,这不会啊,这不会,为啥呀,你前面不是判断过了吗?是吧,不等于空啊好,然后equals,那那如果说找到了的话,大家注意看啊,把cookie直接return就行了。
13:05
啊,直接捋成,捋成之后,其他的这个循环,它就不断执行给咱们了解一下啊,好,那么我们就使用这种方式来查找,那么这个。那报啥错呀?我看一下哈。我重新编辑一下。呃,他说缺少缺少语句。缺少语句。哪呢?我们看一下啊,我知道什么原因了啊,来再看一下这个地方return now啥意思呢?这里的意思是说大家看一下哈,如果说你找到的话,直接给你返回,要是你找不到呢,找不到的话,它会进入到下面来,它缺少一个返回值,预签到就行了哈。好,那么咱们到这边来,那么我们查找啊,就不用自己写的这么辛苦,对吧,咱们一般就把这个注掉,那以后只要用的时候怎么办。
14:09
啊,只要需要用这个这个工具类就行了,叫做cookie us.find cookie,你只要把你要找的cookie放的名称放进来,比如说我要找key啊,这里呢是cookies。放下就行了,放下就行了,好,同样可以操作啊,我们重新部署一下。星耀。好,重新部署成功了,那么咱们来刷新访问一下,大家看,同样是找到了你需要的cookie。哎,同样的好,这个呢,就是获取cookie,你可以获取什么。全部。你也可以去便利查找某一个你指定你需要的cookie,哎,就咱们了解一下。
我来说两句