在flask中有两种上下文 分别为应用上下文和请求上下文
flask的全局变量
current_app 应用上下文 当前应用的应用实例
g 应用上下文 处理请求时用作临时存储对象,每次请求都会重设这个变量
request 请求上下文 请求对象,封装了客服端发出的HTTP请求的内容
session 请求上下文 用户会话,值为一个字典,存储请求之间需要记住的内容
flassk通过flask的全局变量request对外开放请求对象,这个对象通常包括客服端发送的HTTP请求的全部信息
相关属性如下
form 一个字典,存储请求提交的所有表单字段
args 一个字典,存储通过url查询字符串的所有参数
values 一个字典 ,上面form和args的合集
cookies 一个字典,存储请求的所有cookies
files 一个字典,存储请求上传的所有文件
get_data() 返回请求主体缓冲的数据
get_json() 返回python字典,包含解析请求主体后得到的json
blueprint() 处理请求的flask蓝本的名称
endpoint() 处理请求的Flask端点的名称,flask把视图函数的名称用作路由端点的名称
method 返回HTTP请求方法
scheme url方案(http和https)
is_secure() 通过安全的连接(https)发送请求的时候返回True
host 请求定义的主机名,如果客服端定义了端口号,还包括端口号
path url的路径部分
query_string url的查询字符串部分,返回原始二进制值
full_path url的路径和查询字符串部分
url 客户端请求的完整url
base_url 同url,但没有查询字符串部分
remote_addr 客户端的ip地址
environ 请求的原始WSIG环境字典
from flask import Flask
from flask import request
app = Flask(__name__)
@app.route(‘/‘)
# def index():
# return ‘<script>alert("hello world")</script>‘
# app.add_url_rule(‘/‘,"index",index)
def index():
# 获取对应的用户代理字符串
# user_agent = request.headers.get("User-Agent")
# 获取对应的get请求查询字符串
# squery = request.query_string
# 获取对应网址的ip地址
# ip = request.remote_addr
wsig = request.environ
return wsig
@app.route(‘/<string:name>‘)
def hello(name):
return ‘hello {}‘.format(name)
if __name__ == ‘__main__‘:
# 192.168.0.10=
# app.config.update(DEBUG=True)
app.run(debug=True)