flask request模块
前言
在进行Flask开发中,前端需要发送不同的请求及各种带参数的方式,比如GET方法在URL后面带参数和POST在BODY带参数,有时候又是POST的表单提交方式,这个时候就需要从request
提取参数。这篇文章是总结如何使用request
。
关于request
在Flask的官方文档中是这样介绍request
的:
对于 Web 应用,与客户端发送给服务器的数据交互至关重要。在 Flask 中由全局的 request 对象来提供这些信息。
从Flask模块导入request
:
from flask import request
request的属性
下面是request可使用的属性,其中黑体是比较常用的。
form
一个从POST和PUT请求解析的 MultiDict(一键多值字典)。args
MultiDict,要操作 URL (如 ?key=value )中提交的参数可以使用 args 属性:
searchword = request.args.get('key', '')
values
CombinedMultiDict,内容是form
和args
。
可以使用values替代form和args。cookies
顾名思义,请求的cookies,类型是dict。stream
在可知的mimetype下,如果进来的表单数据无法解码,会没有任何改动的保存到这个·stream·以供使用。很多时候,当请求的数据转换为string时,使用data
是最好的方式。这个stream只返回数据一次。headers
请求头,字典类型。data
包含了请求的数据,并转换为字符串,除非是一个Flask无法处理的mimetype。files
MultiDict,带有通过POST或PUT请求上传的文件。environ
WSGI隐含的环境配置。method
请求方法,比如POST、GET。path
- script_root
- url
- base_url
- url_root
如果用户请求如下URL:http://www.example.com/myapplication/page.html?x=y
以上的参数内容如下:
名称 | 内容 |
---|---|
path | /page.html |
script_root | /myapplication |
base_url | http://www.example.com/myapplication/page.html |
url | http://www.example.com/myapplication/page.html?x=y |
url_root | http://www.example.com/myapplication/ |
is_xhr
如果请求是一个来自JavaScript XMLHttpRequest
的触发,则返回True
,这个只工作在支持X-Requested-With
头的库并且设置了XMLHttpRequest
。blurprint
蓝本名字。endpoint
endpoint匹配请求,这个与view_args
相结合,可是用于重构相同或修改URL。当匹配的时候发生异常,会返回None。get_json(force=False, silent=False, cache=True)
json
如果mimetype
是application/json
,这个参数将会解析JSON数据,如果不是则返回None。
可以使用这个替代get_json()方法。max_content_length
只读,返回MAX_CONTENT_LENGTH
的配置键。module
如果请求是发送到一个实际的模块,则该参数返回当前模块的名称。这是弃用的功能,使用blueprints
替代。- on_json_loading_failed(e)
routing_exception = None
如果匹配URL失败,这个异常将会/已经抛出作为请求处理的一部分。这通常用于NotFound
异常或类似的情况。url_rule = None
内部规则匹配请求的URL。这可用于在URL之前/之后检查方法是否允许(request.url_rule.methods) 等等。
默认情况下,在处理请求函数中写下print('request.url_rule.methods', request.url_rule.methods)
会打印:request.url_rule.methods {‘GET’, ‘OPTIONS’, ‘HEAD’}
view_args = None
一个匹配请求的view参数的字典,当匹配的时候发生异常,会返回None。
更多api例子参考:
https://www.programcreek.com/python/example/60711/flask.request.data
flask request模块的更多相关文章
- python flask的request模块以及在flask编程中遇到的坑
一.首先来讲讲遇到的坑: 1.linux下package的打包引用: """ 路径结构如下: ./project ./bin ./api ""&quo ...
- Flask request 属性详解
Flask request 属性详解 一.关于request在Flask的官方文档中是这样介绍request的:对于 Web 应用,与客户端发送给服务器的数据交互至关重要.在 Flask 中由全局的 ...
- dojo/request模块整体架构解析
总体说明 做前端当然少不了ajax的使用,使用dojo的童鞋都知道dojo是基于模块化管理的前端框架,其中对ajax的处理位于dojo/request模块.一般情况下我们使用ajax请求只需要引入do ...
- node.js的request模块
request模块让http请求变的更加简单.最简单的一个示例: 1: var request = require('request'); 2: 3: request('http://www.goo ...
- 1.4 flask request和session
2019-1-4 18:13:57 越努力,越幸运! 还有121天,flask讲完,还有4天,总时长130天 还有13天就讲完了 一月争取看完!!! 永远不要高估自己! 今天学了request和ses ...
- python接口自动化测试(一)-request模块
urllib.request模块是python3针对处理url的. 1. 首先导入: from urllib import request 2. 构造url,构造url的headers信息和传参[re ...
- request 模块详细介绍
request 模块详细介绍 request Requests 是使用 Apache2 Licensed 许可证的 基于Python开发的HTTP 库,其在Python内置模块的基础上进行了高度的封装 ...
- 第5月第10天 node.js的request模块
1.node.js的request模块 http://www.cnblogs.com/meteoric_cry/archive/2012/08/18/2645530.html
- 【nodejs】理想论坛帖子下载爬虫1.07 使用request模块后稳定多了
在1.06版本时,访问网页采用的时http.request,但调用次数多以后就问题来了. 寻找别的方案时看到了https://cnodejs.org/topic/53142ef833dbcb076d0 ...
随机推荐
- js获取iframe里面的元素
直接获取不行 var win2 = document.querySelector('iframe[width = "1280" ]').contentWindow; var lo ...
- 一份比较全面的PHP开发编码规范.
这些年来多从事Linux下PHP和C相关的开发,带过很多项目和团队,下面是根据经验整理的PHP编码规范,可以用作给大家的范例和参考,根据需要进行取舍和修改! (可能最新的一些php5的规范不够完整,今 ...
- UTF8 & GBK之间的转换
使用lua的时候,在lua中给字符串赋值的中文,但是在C中读出来的就是乱码,是因为在lua中使用的是UTF8编码,而在C(windows下面)中使用的是GBK编码,将UTF8转成GBK就可以了,下面的 ...
- 【代码审计】XIAOCMS_存在任意文件删除漏洞分析
0x00 环境准备 XIAOCMS官网: http://www.xiaocms.com/ 网站源码版本:XiaoCms (发布时间:2014-12-29) 程序源码下载:http://www.xi ...
- 利用Python爆破数据库备份文件
某次测试过程中,发现PHP备份功能代码如下: // 根据时间生成备份文件名 $file_name = 'D' . date('Ymd') . 'T' . date('His'); $sql_file_ ...
- Linux man 命令
man命令可以用来查看Linux命令的帮助信息 .配置文件的帮助信息等等,通过不同的代号可以查看不同的帮助信息: 代号 含义 1 查看Linux命令的帮助信息(默认) 2 查看内核提供的函数的帮助信息 ...
- Android5.x新特性之 Toolbar和Theme的使用
Toolbar 你还在为Android 的ActionBar的文字不能随意设置位置而烦恼么?你还在为ActionBar不能自定义添加自己的布局而烦恼么?现在告诉你一个好消息,当你看到这篇文章时,就不必 ...
- HTML5和CSS3扁平化风格博客(进阶篇)
趁热打铁,将剩下的部分完结~ 接上篇,增加了一些js特效:侧边栏,返回顶部. 至于效果,也不知道gif的图片怎么显示不上去了 无奈只能直接上代码了,完整版请点击: https://files.cnbl ...
- C#实现新建文件并写入内容
using System; using System.IO; namespace ConsoleApplication1 { class Program { static void Main(stri ...
- Android逆向笔记之AndroidKiller与Android Studio的使用
https://blog.csdn.net/a_1054280044/article/details/60465267 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog. ...