三、request请求对象

作者: 扑腾的蛾子 | 来源:发表于2017-10-23 14:56 被阅读22次

    核心对象,请求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,可以下载来学习。

    相关文章

      网友评论

        本文标题:三、request请求对象

        本文链接:https://www.haomeiwen.com/subject/ibgduxtx.html