三、request请求对象

核心对象,请求request

今天,还是用上次文件结构目录,只是里面的文件会有不同。

创建rq.py文件
启动虚拟隔离环境

从地址栏获取信息

显示请求的地址里的路径是什么

get_request方法下,通过request获取路径,然后打印

看请求是什么样的

method = request.method

接下来我们来看一个特殊的情况

再打开一个终端窗口,激活虚拟环境

直接进入Python,$ python3

$ print (request.path) 会出错,确实是有这个类,但是没有上下文环境,其实就是浏览器帮我们做的,你以http的协议去请求,但是你在代码中访问就没有。不过有时候确实需要在终端来进行相应的模拟,那怎么办呢。

进行模拟

我们做网站编程,理所当然用浏览器来进行测试,但是我们要明白浏览器在背后帮我们做的事情,这只是一部分。

上下文:某一个操作,或者代码的运行,他是需要一系列的前因后果,或者一些环境。

request的成员

path = request.path

method = request.method

name = request.args.get('name', '未找到')   args可以找到地址栏里的key,类似http://127.0.0.1:5000/rq/?name=tom,的这个tom。

地址栏编码:

127.0.0.1:5000/rq?name=tom&jerry 只取到tom就结束了,但是我的意图是两个都取到

127.0.0.1:5000/rq?name=tom%20jerry  %20是一个空格

127.0.0.1:5000/rq?name=tom%26jerry  %26是一个&符号

通过urllib来进行转换
jinja模板里

解码:

unquote解码

用flask来做表单的提交

get提交的信息从地址栏里去获取

post提交的信息就是表单的提交,我们从form里去获取

想获取地址栏里的信息,又想获取表单提交的信息该如何做

.values['name'] 查询字符串/表单数据

只是了解一下就可以了,在实际的开发中,还是分开用比较好。

头部的信息

在不了解headers都有什么信息的时候,可以这样打印出来

.headers 头部信息  .headers['User-Agent']浏览器

.headers['Host']  主机

等等,其实头部信息不是太重要,做爬虫的时候可以参考。

这是本次教程的Demo,可以下载来学习。

推荐阅读更多精彩内容