00:00
啊,下面呢,我们来说一下这个处理请求,也就是在go里边呢,我们怎么来这个,呃,前端提交的这些请求包括什么,有请求,请求一个参数,有户名密码等等或者其他的,怎么来把这些内容来拿到啊,我们来看用的呢,还是我们这个net http包啊,提供了一系列用于表示HTTP保文的一些结构,昨天我们也说这个HTHTTP协议了啊,那里边有这个请求报文呢,还有显应报文,那么接下来我们就要说的就是对那个报文里边那些信息的已经获取了,我们来看一下啊,我们可以使用它处理请求和发送响应,其中request结构这个结构下边这个这是截这个图代表了客户端发送的请求报文,哎,请求报文,请求里边那些什么请求函啊,请求图啊等等啊哎,就在这个结构地里边啊,通过它就可以来拿到了啊,下面我们来看一下这个结构体。哎,这是这个request一个结构体里边有method,就指定这个method的一个HTP方法的,那我们两种网,我们直接看这个吧,Net htp。
01:01
点开它,我们找到request。点开来看一下结构体request,嗯,第一个呢,这个字段master,哎,String类型的指定了HTTP的方法,什么get呀,Post呀,Put呀等等,就是你说白了就是那个请求方式啊,请求方式你发的是这个get请求啊,还是POS求啊,哎,就是来获取它的啊第二个呢,URL就是你那个请求的一个地址了,你发的这个请求地址是什么?这个我们一会来来测一下它啊,就是获取这个请求的URL,那还有这个我们比如要发个get请求,比如发了一个超链接,那后边呢,有时候需要写的参数,比如问号什么什么等于什么么什么什么等于什么什么,那后边这个,如果你要用这个URL字段呢,它得到的是那个前面那个URL,就是那个地址有的斜杠什么hello,那得到这hello,那后边问号那些,哎,我们称为什么查询字符串,那这个查询字符串呢,它是得不到的,那怎么来得呢?哎,有这个有question string啊在这个。
02:00
里边我们再来往下看,嗯,下边还有个hi,就是获取这个头类里边的内容的,嗯,ATP规定头域的一个键名。类型呢,是hi的,一会我们或许再来看它具体这个下后边这个类型啊,像这个URL,这个URL里边那个URL,比如我们点开URL。点开它按我们一会儿点不开了。你昨天不都点开了嘛,对吧,URL,那URL里边呢,你像这个有pass就是路径,你URL里边那个路径这个你的请求的地址是什么,然后还有什么快这个。For。就是打开那个官方文档了是吧,英文的啊,英文的,所以呢,不是我们那个中文的那个文档了,就是打开了这个,因为我们那个可以直接打开啊,可以可以可以直接打开,也就是这里边呢,我们可以得到这个pass,还可以到什么host的主机,对吧?还有这个你还可以得到这个地址后边那些查询的一个组符串,我下边也举这个例子啊,比如问号后边这些东西,哎,就是这个,呃,查询的些字符串我们也可以得到啊,就通过这个UR里边这个结构体里边这些字段,就可以拿到我们想要这个内容了啊,想要内容了,这是一个打开的另外一个啊,官方文档里边那个文档,并不说我们这个中文档啊,然后下边有好多啊,这里边这个有好多字段,Had呀,什么body呀,就是获取这个题里边的啊波呢,就是请求的主题,就是我们说那个请求题,昨天我们说这个报文的时候,我们说了啊请求行啊请求头啊请求题,所以呢,请求行我们得到也可以得到请求图里边的信息,我们也可以得到请求题里边的档案呢啊,我们也可以得到,也可以得到啊这是这个还有下边还有种form。
03:44
啊,这这个包包括postpone这块,就是获取那个。这个你比如提交的时候啊,在这个phone表单里面,假设这个传了一些UN name bor,哎,就用这个post form或者什么还有form等等啊,这个呢,就是处理这个文件上传的时候用的啊,文件上传用的我们这个具体说到时候我们再来说啊好,那首先呢,我们来看一下怎么来获取,比如这个请求行里边,那么这个昨天说请求报温时有请求行,请求行里边呢,有这个你的这个发发送那个请求方式有get,后边呢是一个请求的URL,哎,包括后边还有这个HP版本的一个协议,一个一个版本,一个协议版本啊,1.1等等,那下面我们就来说一下啊,怎么来得到它怎么来。
04:29
来看啊,这里边这也是从官方那边截过来的啊,我们就不看它了啊,不看它了,下边这个解释呢,呃,代表一个什么服务器接收的或者客户端发送出去的一个HTC请求啊,这这些东西也不读了啊,首先来看我们这个获取请求的URL,就是获取我们的请求的地址,因request结构里边的URL字段,刚刚我们也点开了啊,就是点开的是这个英文的那个官方文档里边的字段呢,用于表示请求行中的这个包含的这个URL,就是请求行里边那个URL,呃,该字段呢,是一个指向,呃这个呃,URl.URL指结构的一个指针,我们这一个,哎,刚刚看那个文档也发现了啊,是一个指针,前面有个那个星号对吧?诶这下边的这是它的一个结构啊,它这个结构有点的,我们那个呃,中文的那个文档里边,根据那个来截的图,这上面呢,也有这个说明,诶像那个U的什么用户名密码一个信息比host的什么主机的一个啊pass就是这个路径了啊pass的路径了,然后下边这个呃肉什么query呢,就是编码或者一个查询字符串查询组织了。
05:29
但是是没有问号的啊,因为我们发请求的时候呢,比如这个斜杠hello,后边问号什么等于什么什么,你接举的就是后边问号,后边的是不包括这个问号的,不包括问号,比如下边举这个例子,那前面呢,呃,这块这个斜杠后边这个pass这个路径,路径问号后边就是那个查询那字符串了,这个问号你如果要调这个什么呢?呃。就这个字段,哎,得到的就是后边那个字,这个查询的字数,但是是不包括号的,包括号的啊,就是这一个啊,URL这个结构里边,我们常用的就是这个什么pass,还有这个后边的一个查询的一个字符串。
06:05
啊,下边呢,也举了个例子啊,Passor获取请求的URL,例如比如我发了一个请求是hello,然后后边有个号,什么user name等于me and password等于123456,那如果通过r.URl.pass呢,只能得到写个hello,其实我们这个昨天写hello word的时候呢,写的对就是它啊在那个hello后边呢,我们用R点一个URL,点一个pass,得到的就是我们这个路径,如果你直接访问的根目录就得到这个斜杠,那后边直接写什么hello或者其他的,就把这个路径呢给你显示出来了,显出来了下边这个字段呢,就是获取后边你这个问号后边的这一串了。诶,这串的我可以得到前面这个地址URL,我也可以后边得到这个产品字符串,就用这个啊,就用这个字段,诶这块也说了啊,就它后边这个后边问号这个后面的产品字符串,也就是说r.UR点调这个字段啊,这个字段就得到后边这个U,那等于什么and pass等于什么了?哎,这是这个例子啊,下面呢,我们来测试一下。来,我们再来创建一个。
07:02
来按右键,再来创建一个文件夹吧。我零二。这一个raq,请求答案详写。好,嗯在这呢,嗯,来在创建一个文件。免点够。Package。这个。啊,先把服务器创建一下,嗯,你先创建一个处理请求的。这个初级函数。中间这个处理器函数。名字叫handler,这个名无所谓啊,再说一下WHTDB点一个。第二个R型HTTP,一个request。
08:05
在这里边呢,我们来写一个这个fmt加上一个F。来。W。然后呢,后边写一个什么啊,写一个你发送的这个请求的这个什么呢?请求地址。是好。后边呢,诶逗号这一个什么呢?R点一个URL点一个pass,哎,我们就用这个pass,这就是那个请求的地址,请求的地址,当然呢,我们也可以获取这个查询那个字符串,就是你这个请求地址后边这个查询字符串是什么?那我们来复制一个它请求的后边写了啊请求的这个请求地址后的。好。把这个查询这个字符串是。好,诶那这块呢,就不是这个pass了点一个。
09:07
肉一个。Raw一个query query这个啊,用的是它,好,下面我们来这个。HTTP点一个。憨豆哪个方法呀?那个函数。下边这个还是上面这个呀,下边这个吧,诶下边这个啊,上边这个是你自己这个创建的一个处理器,对吧,自己写个结构,然后呢,实现那个看到了这个接口,也就是这个实现那个什么solve htp那个方法对吧,在里边写,然后下边这个呢,也就是你把一个这个函数,一个函数这个来进行,它能自动转换成一个处理器,但是这个函数这个参数啊,必须得是它啊,必须得是它。括号斜杠,比如那这一个,嗯,就这哈吧。
10:03
就是哈了啊。然后这一块呢,写一个handler。好。然后HTB点一个listen and so。8080。逗号牛。那就找了。诶对,这逗号来保存一下好了啊,就这个处理器函数,因为我们这个呃,用这种方式写的比较简单啊,比较简洁,你要是自己再创建一个的话,还得自己写一个结构体,然后呢,再实现那个接口里边的方法,所以呢,这种方式处理起来还是比较的简洁的,所以呢,我们就用这种方式了啊好,下面呢,我们就来这个发一个请求啊,发一个请求。来右键来终端打开。
11:00
Exe。好,来。允许。在这了,8080斜杠哈。好,哎,你的请求地址是hello,现在是不是还没有这个查询字符串对吧?好,那我们后边呢,哎,来加内容问号。哎,比如什么呢?U等于一个admit and。PWD等于一个123回撤,好诶这个时候呢,注意这个财用字数串就是嗯,地址后边这一堆啊,后边这一堆不包括这个公众号,哎,不包括众号啊,这就是这块啊,你们这个发送到请求,请求地址后边这个查询字符串就是这个啊有的等于这个什么什么啊这这是我们这个通过这个呃,请求行这块啊这个呃。发这个请求的时候,请求报文里面那个请求行里边包括你的什么请求方式,当然请求方式你也可以获取啊,用那个method的就可以了,诶在这呢,我就不演示了啊,下面的那个结构体里边那些内容呢,都可以拿,都可以拿,这只是获取这个URL跟后边这个产景字串,我们这个可以得到啊,那具体这个怎么能根据这个U的得到后边这个值啊me,哎,包括这个根据PW得到123,那这个就是用我们下边的其他的一些字段了,那么这个哎,Form value啊,还有什么post form value啊等等啊,通过那些来进行得到啊,那这个我们这个下节课再说啊,大家先休息一下。
12:28
嗯。
我来说两句