00:00
好了,Cookie这些和核心API学完之后的话呢,我们可以用cookie来做两个,我们平常在这个呃,生活中见到的两个例子,先看第一稿。都复制过来吧,然后我们一起来写。第一个,第一个是什么呢?我们经常会有这样的这样的一个情况,比方说我现在我来登录我的新浪微博。大家发现一个什么问题啊?没好啊,大家发现一个我是不是不用去输入那个用户名和密码呀,那用户密码在哪呢。它肯定是存储在某一个位置吧。是吧,哎,这个时候的话呢,这就是我们常用的一个功能,就是说我可以,嗯,在多长时间,在多长时间之内,我可以进行自动登录,我再说一遍啊。我可以在多长时间之内进行自动登录,我们看这个效果login。
01:05
等XP跑一下。刷新,我写一个ABC硅谷吧。好三,Hello。P,我复制关掉关掉好了,我打开我直接请求这个页面是不是告诉我还是按微博那别说老师我我复制我你可他他这个一样的,后来你看。你要直接去这个烙不点的话,它怎么了,这么写的哈。Index吧,直接过来之后他怎么了,他就不让我登录啊,哎,这说明你不登录是不行的,但我这块的话呢,我再刷啊,我这个cookie的时间还没过啊,这个时候的话呢,我就可以进行自动的登录,这就说明我下一次登录的时候,我已经可以用这个进行登录了,我们来说一下这个练习的要求以及实现的原理。
02:16
就叫什么叫自动登录。自动登录好了,我们想怎么样才能够自动登录呢?这需要。填写用户名和密码等。信息,然后呢,可以自动登录到系统,OK的需求,好了我们看如何具体实现。那你想啊,比方说我想直接登录到这个页面的话,我们有一个啥呀,我们有一个页面。
03:09
这个页面呢,我们就比方说它叫。嗯。Hello吧,GP。那我们希望这个页面的话呢,有这样的两个功能,第一个功能。说落落没有登录,则重定向重定。向道。login.dp。好了,别的不说了,反正去那个页面的话,你就登录,这是第一个第二个。第二个说落。
04:02
可以获取到登陆。可以获取到什么请求参数吧请求参数,比方说呃,Login name,你要别的哈,则打印出欢迎信息。这个比较简单三,哎,那我的话呢,我还是直接访问的这个页面,说怎么办呢,从cookie中读取。用户信息说,若存在,则打印欢迎信息。欢迎欢迎信息,那这个的话呢,应该。
05:00
放这儿。如果这两个都没有。干什么呀?落落落即没有。请求参数也没有。里没有什么呀,也没有cookie则重定向到这个,这就是我们,呃,这个log GP里边这个具体的这个几个步骤,我们看第一个我需要来获取这个请求参数,看有没有,如果有的话呢,打印打印信息,还有一个,还有一个干什么呀,把啊登录信息,登录信息存储到。Cookie中并。设置cookie的最大时效为,比方说我们说30秒,超过30秒无效。
06:03
好了,那另外一种信息呢,如果要是这个不行的话,我就从cook克里边去读,Cook里边要是有的话呢,也打印,如果要都没有的话,对不起,直接给我回login,这就是我们这块的这个什么这块,呃,Hello JP这个逻辑,于是你看我再访问。不行了吧?过了你看这个时候我一下,我写个硅谷过来复制。可以可以,那超过了一个时间以后的话呢,他就。不行了。那我的这个页面大家看哈,这个页面超级简单,这是什么呀,叫SP。这个放这儿吧。过来。
07:05
想想。这是什么呀,这是。Log in.GP大家呢,可以直接来写这个log.gp我的时间应该过了啊30秒。好,收回来了,好,而这个页面呢,你看多cookie等等等什么也没有是吧,都是整个的这个流程行吧,那大家就把这个练习来写一下吧。好,我们来看一下这个log in的GXP这个提交到哪啊,提交到index,那这个页面里边,我需要来完成这样的一个步骤,这个步骤的话,这边我已经写了啊,我直接复制。CTRLC过来。
08:01
第一个。请求这个叫name。嗯。嗯。等于request点,如果要是有内部的话,说明啥,说明我是不是正常录的,这种情况,我们当然我们要我们要这个出了是吧,不等于当然可以登录了是吧。不等于,不等于,而且那点。对点。Equals不等于这个时候的话呢,正常登录out点。
09:02
加零,然后呢,哎,我需要什么呀,我需要下一次可以。嗯,直接登录,这怎么直接登录啊,从这个页面直接登录,那我就创建一个cookie呗。Cookie。名字叫name。直角内好了,然后设置一个最大时效set maxage30秒,然后送回去胖点爱cookie cookie写完好了,那如果这个名字要是没有的话,我怎么办呢?我就从cookie里边读一下,获取IE的一个度,Cookie等于request.get cookies。
10:07
上来。咋读啊?Cookies不等于。而且cookies点。大于零,我怎么我得便利吧,我找到我满意的那个,不是满意哈,就匹配的那个cookies,什么叫匹配的呀,是不是名字是他呀,If写举一个跟的name cookie name。等于cookie.get name,然后呢,If一个呗,判断一下,如果这个是name的话,Equal cook是谁啊?
11:00
是不是这个值是cookie name啊,Cookie name是它吧,是这个这个这个字符串可以不叫name啊,你也可以叫别的,如果要这个等的话,我怎么办?我来获取value的value等于cookie.get value,然后怎么了?Out点打吧。加。有,我这么写吧,Name等于name等于什么呀?Name等于cookie value。等于它然后的话呢,我这个打印呢,只能拿后边来打印。CTRLX不来。Else,完成。If,如果name不等于。闹的话。嗯。
12:01
看看哈,这块的话,那不等于闹,应该这么写。他说C内部等于,而且内部也不是他的话,我怎么呢?我就来进行out.print。啊,Hello,加上什么呀,加上name else,否则什么呢?否则回去吧。就是我。请求参数也没有,Cookie里边也没有,那就只能回去了吧,Response response,点。去loginp完成。看效果,嗯,好。硅谷。放心,这是没问题的。不治直接来。
13:00
是不OK啊,好,等30秒,30秒之后再刷的话,那就不行了。那这种情况的话呢,我们来看一下什么呢。我们来看一下这个IE的情况。啊告重新登录好,我写的at硅谷登录成功不能成功,这个时候的话呢,我们来看一下这个cookie。设置。找到文件,大家看APP1。对,不是啊。嗯。PE1取不来。把这个就是一个文本文件啊看一下。Four。
14:00
Name是不是as硅啊,这个是我们那个local host,这个past啊,整个的话呢,这就是我们cook那个小文本文件,前面有一个名,后边点一个点TST,行了,时间应该过了哈,我再刷是不是重新回来了,这就是啊,Cookie的一个效果。叫自动。自动登录,那我们很多时候的话呢,就用cookie来做的,当然了,实际开发里边的话呢,我们肯定需要有一些更工业化的设计,工业化的设计是什么呀,比方说都是带密码的怎么办,密码需要。加密。密码需要加密,然后的话呢,我用我读取到的这个用户名跟密码直接到服务器里边来进行匹配,不加密肯定是不行,而且这个加密应该是不可逆的,就是说我不可能拿这个,不可能拿这个字符串是吧,我知道你是什么算法,然后我退回去,退不回去。
我来说两句