Flask之Request请求
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flask之Request请求相关的知识,希望对你有一定的参考价值。
参考技术A 请求url: http://127.0.0.1:5000/hello?name=bobflask为了将请求的URL匹配到对应视图函数,flask中存储了一个路由表(app.url_map)其中定义了URL规则和视图函数的映射。
如果找到了对应的视图函数,将展示。否则显示404。
可以通过flask routes来展示app.url_map表中解析到的数据
从这里我们可以看到每个路由或者说是接口对应的方法,参数等信息
在flask中,我们可以通过在@app.route()装饰器后设置http请求的方法,类似springboot中的requestMapping
如果请求的方法的方式和设置的不符合,将提示405(Method Not Allowed)
因为flask默认请求的URL为字符串,所以Flask内置了URL变量转换器
<int>限制了year必须是一个整数
<any>限定了必须在url上填入你选中的值
其实个人比较难理解什么是钩子,书上是认为请求的预处理和后处理被认为是一个钩子。
PS:after_request和after_this_request钩子必须接受一个响应对象作为参数,并且返回一个响应对象。
测开之路一百二十六:flask之获取request请求数据
可以根据flask的request对象获取所有的请求信息
path = request.path # 获取请求地址
method = request.method # 获取请求方法
ip = request.remote_addr # 请求来源的ip
form = request.form # 获取form表单的数据
value = request.values # 获取查询字符串/表单数据
headers = request.headers # 后区头部信息
User_Agent = request.headers[‘User-Agent‘] # 获取发起请求的浏览器的信息
host = request.headers[‘Host‘] # 主机
name = request.args.get(‘name‘, "没有获取到name") # 获取指定参数
environ = request.environ # 环境
full_path = request.full_path # 完整路径
url = request.url
base_url = request.base_url
url_root = request.url_root
si_xhr = request.is_xhr # 是否为XMLHTTPRequest请求
blueprint = request.blueprint # 当前的蓝图名
endpoint = request.endpoint # 根节点, 当前执行的函数
view_args = request.view_args # 视图参数
name = request.args.get(‘name‘, "没有获取到name") # 获取指定参数
请求/rq/
# coding:utf-8
from flask import Flask, request
app = Flask(__name__)
@app.route("/rq/")
def get_request():
""" request数据 """
path = request.path # 获取请求地址
method = request.method # 获取请求方法
ip = request.remote_addr # 请求来源的ip
form = request.form # 获取form表单的数据
value = request.values # 获取查询字符串/表单数据
headers = request.headers # 后区头部信息
User_Agent = request.headers[‘User-Agent‘] # 获取发起请求的浏览器的信息
host = request.headers[‘Host‘] # 主机
name = request.args.get(‘name‘, "没有获取到name") # 获取指定参数
environ = request.environ # 环境
full_path = request.full_path # 完整路径
url = request.url
base_url = request.base_url
url_root = request.url_root
si_xhr = request.is_xhr # 是否为XMLHTTPRequest请求
blueprint = request.blueprint # 当前的蓝图名
endpoint = request.endpoint # 根节点, 当前执行的函数
view_args = request.view_args # 视图参数
name = request.args.get(‘name‘, "没有获取到name") # 获取指定参数
return User_Agent # 解码
if __name__ == ‘__main__‘:
app.run(debug=True)
以上是关于Flask之Request请求的主要内容,如果未能解决你的问题,请参考以下文章