00:00
哎,刚刚啊,有个学生也说了,你这个啊,我们讲那个获取请求行的时候,哎,得到的那个弹性字符串呢,是当时是UD内等于什么,And password等于什么,那刚刚有同学说,那我得到这个之后,难道我还要截取来得到里边的内容吗?对吧,那说如果是这样的话就太费劲了,哎,所以啊下面呢,我们就来说怎么样来获取这些,哎,这个请求参数有有的内幕啊password呀,哎,那这一块呢啊呃,专门的也给大家这个其实啊专门这个go呢,也给你提供了一些属性和方法,我们来看一下获取请求参数,诶下面呢,我们同样啊用的是net htp,诶这个包HTP包请求和显应里边其实。都是用的这个nettp这个包啊,库中的这个request结构字段呢,以及方法获取请求URL后面这个请求参数,以及这个form表单中提交的这个请求参数,诶这些呢,它有专门的这个获取的方式,不需要我们什么呢,得到之后呢再进群了啊来看。第一个form字段,也就是在有筷里边呢,有这样的一个字段,我们来点开它,我们来看找到我们的form。
01:03
啊在这啊,这块的一个值呢,是URL的一个value那个,UR的一个value那个。你们看我们的吗?啊,不点它了啊,点它,哎这个URl.values类型form的是解析好的一个表单数据,解析好的表单数据,也就是说你直接点哎这个用r.form字段,哎,Form字段啊,它是这个进息好的一些表单数据里边就有有的啊,包括UR。字段的一个query参数,就是你查询的那些这个,呃,查询字符串就是你这个,如果是get请求啊,里边这个有这个查询字符串,那里边就包含这个信息和post或post里边的表单数据,如果你要提交的是post引求,Post这个请求体里面那个user nameme啊做的那些参数呢,也包含就是这个form字段啊,Form字段下边这个URl.values这个type的这个类型,哎,也可也给你这个解到这了,Type values它也是一个map,也是个map,哎,这个key是string类型,后边呢,是不是还是一个string的切片对吧?String的一个切片啊,Whiles将什么呢?映射到这个,呃,这个将映射。
02:07
将映射到值的这个列表,它一般用于什么呢?查询的这个参数和表单的一个属性,呃,不同于什么呢?Head的这个这个类型就是这个,呃,里边那个head啊,Head的那个类型,那Y6的键也是大小写敏感的,就说白了,它也是区分一个大小写的啊,你不能这个,比如本来是个大写写成小写了,本来是小写写成大写了,但是注意啊,这个form字段呢,只有在调用request的pass form方法后才有效,啥意思呢?也就是说你这个。要这个保证这个form字带里边有那个什么的用户名密码有有那些这个查询字串有有那些请求删除的话,在它之前你必须得调下这个方法,让他解析一下这个form,就是调这个pass form方法才有效,就这一块啊,必须得调它,哎而且在这个客户端呢,会忽略这个请求中这个这个在客户端啊,会忽略请求中的一个本字段,就是会忽略这个form字段啊,使用这个body来代替,也就是在请求T里边呢啊,用这个body啊,这个body不就是请求T嘛啊下边这块诶给大家截了这个pass form啊pass form干啥的?诶pass呢,解析URL中那个查询字符串诶,并将解析结果更新到R的form字段里边。
03:14
有,它会解析你里边这个,呃,常见字符串,哎,会解析它,并且它会把里边的内容呢,哎给你放到这个form母这个字段里边,就是这个字段,那也就是说你要保证这个字段里边有那些请求参数,你必须得先调啥呀,是不是调这个pass form。对吧,诶得调一下他,哎调下他,而且呢,这块也说了啊,在客户端,因为这个对于盖子请求来说,我们那个请求参数是不是在那个查询字串那那里边对吧?对于盖的请求那个URL后边是问号什么什么等于什么什么,哎那个属于查询字串,那那对于POS请求怎么办呢?POS请求那后边是不是没有啊,是空的吗?我们刚刚测的这个POS请求。哎,这是不是。我们刚刚发的。哎,这怎么又有值了?我发的是get吧。
04:01
啊,这个是啊,这个是啊,我发的这个刚刚应该是get啊来回来啊,我们再来一次啊,我们的表单呢。后边这个啊这个啊这个啊,那是地前之前那个啊,比如说我们刚刚提交的表单,那提交到把表单发的这个POS请求,发到POS请求这个查询支付上是不是没有呢?对吧?那些请求三数的在请求题里边,那对于在这请求题里边你这个po调这个方法怎么回事呢?刚刚才也说了啊就什么呢,忽略这个呃里边这个form呃来使用这个玻璃来代替来因为它在请求题里边,所以呢,我就从体里边拿到那个用户名和密码,所以这块诶这块也说了,对于post和破请求什么呢?Pass form还会将玻璃当做一个表单进行解析,就是这个啊,你调这个呃,Pass这个form时它会解,如果是这个呃get请求,它会把那个查询字符串,就URL边那个,哎,这个给你放到这个form字段里边,那如果是这个POS牛呢,它会诶解析这个body里边的,你那个请求题里边那些,哎放到这个form字段里边,也就通过这个form资料呢,我们就能拿到你这个用户名和密码那里边的内容了啊诶所以啊这一块这个类型啊form资料,其实它的类型呢,诶这个form字段类型呢,是UR。
05:08
它的value其实说白了就是一个map,就是个map里边也是K值,K和值啊,K和值就是这块啊,这个呃,Passone,也就是说我们这个想得到这些请求参数,用户名或者密码,是不是在点这个form字段之前,我必须得调一下pass form这个方法。对吧,你必须得让他哎解析这个表单,解析完之后,他会把那个诶用户名就是请求参数给你放到这个父母字段里边,诶这个时候你才能拿到值啊,才能拿到值,好,那下面啊,我们就来哎测试一下啊,测试一下还有这个下边这个举了个例子啊,5.3中表单提交这个请求参数。这是这个,诶我们把这个步骤下看了吧,解析表单,也就是你必须得先调这个方法,调完它之后,你那个form里边它有值,你不调form这个字段里边是没有值的,也就是在它之前你必须得执行一下它,执行一下它,好那下面我们就来试一下啊,获取这个停止参数,同样我们就用这个表单了啊这个里边那个有个user name password,诶hello,这诶诶先改一下代码,这个hello,我们把这个。
06:16
就叫哈吧,不改了啊。好哎,在这呢,我们来,那在这个获取表单请求参数之前呢,我们需要什么呢?解析这个表单。哎,用这个R点一个什么呢?Pass form,你这先掉下这个方法,哎,这掉下吧,所以这块说一下啊,哎在这个什么呢,这个。调用什么呢?R点。父母。之前必须。执行该操作。也就是你想这个通过这个request里边这个form字段来拿到这个请求参数呢,你必须得先执行一下这个pass,当然啊,呃,这个还有一种方式。
07:07
它能自动的帮我们调pass form以后我们再来说啊,一会再说,也就是这一步呢,你也可以不写诶,但是用的是另外的一个方法了,就不是它了,好,那我们先解析表单,解析完表单之后呢,下面就是来获取这个请求参数了。来获取参数,用这个R点一个,这样我们直接打印了啊,Fmt点一个f print来。哎,好,W写一个,诶请求参数有啊,因为它是一个慢缓慢,哎后边呢,直接这一个R点一个什么呀。Form字段嘛,对吧,R点一个form啊,R点一个form,所以呢,这块注意啊,在r.form之前一定要调一下pass form这个方法啊,诶你不掉这里边是没有值的啊好诶现在呢,再来一次CTRLC。有没有CTRLC啊CTRLC。
08:02
关掉啊。好,哎,Go build,慢点go。慢点EX1好来。我们找到我们的那个页面呢,好诶在这,哎在这我们来看一下啊,提交到这个,哎,Hello,好没问题,我们来这个诶刷新一下它,我们来输入一个呃me输入一个123456,好来点提交。诶,这里边怎么是空的呢。请求参数有。Passone。诶,怎么是空的呀。Passor解析。解析表单。
09:02
刷新右键查看源代码,看一下啊。我DIN123。提交。Map map里边什么都没有。请求体重的。Map,诶,这个。怎么没有内容呢?r.form没问题啊啊,调一下这个啊解析表单,然后呢,这个呃,请求参数直接r.form应该能拿到的。这块也没有少步骤吧,看啊,Y6是一个map y6是map,这个在获取请求赞助前呢,我们调一下这个pass这个方法啊,我们这个也掉了呀,没问题啊,然后在这个。
10:03
忽略请求中的本字段,使用这个body来替代这块它能自动的嘛,这块不是说了吗?在调这个pass form的时候啊,解析查询字符串诶,将解析结果更新到这个r.form里边,就调完它之后呢,它会把它更新到这里边,对于post哎或put来说呢,还会将body当做这个表单解析,那我们这个body里边是有的呀,哎,所以呢,它会将这个body诶当做这个表单来解析,并将这个结果也更新到这个二点。呃,也更新到这个2.form里边,所以呢,我们这个。很难更新到这个里边啊,对吧。现在我这个里边怎么没有值呢。是空的呀。Passfor。解析表单。A。
11:01
我们看啊一二。这怎么会报错呢?什么都没有。我们打印一下这个错误啊。好好的怎么会错呢?122保存来解析表单CTRLC。过了。慢点,Exe。好来啊,再来提交一下回来,嗯,刷新一下。我们再看一下啊,确定一下。Hello。好,没问题。IN1234提交。
12:01
来看。看一下。没有错吧?错误信息是是是空的。解析表单。在他之前执行,我执行过了2.form里边,诶怎么没有值啊。二点。RURL。就是form字段吗?R。Other。父母呢?啊,对呀,这不有吗。Form form是解析好的一个表单数据嘛,包括URL字段的这个query和post的表单数据,对呀,这说的也很清楚嘛,对吧。
13:03
我这个它包含你那个URL里边的,也包含POS里边的,它现在你用R点,然后那种。然后。那我现在map输出,那map里边不应该有有内容吗?输出中空号里边user name,你的意思这样有是吧。Map,来啊。这个因为我们这样写的应该没问题,对吧,这个现在这个URL,也就是说我们这个我们一会儿啊会在这里边呢,URL里边也写个,也写个内容,然后呢,Form表单里边也有,我们看里边这个都有没有,但是我们刚刚写的感觉没有,没有任何问题,UU的name,因为这个form里边呢,它是一个map,我直接传给u name,看能不能拿到后边的值是吧。来啊,再来一次CTRLC。狗的。
14:00
你慢点。Exe。好,来。回来,再回来。这个有关了啊。刷新一下,来一个din,来一个123提交。空啊。这个R点。不是不管是啥,他应该这两个都有对吧。解析完之后。应该都有的呀。怎么没有啊?这样啊,你这个你把其他的呢,先练一下啊,我在这再看一下,哎,这个怎么没有值呢啊,我来看一下啊。
我来说两句