Flask框架中的request对象
1、获取用户的IP地址
- 直接从
request.remote_addr
来获取客户端IP地址 - 通过HTTP头部信息获取【有时客户端的IP地址可能会被代理服务器或负载均衡器隐藏。在这种情况下,可以检查HTTP头部中的】
request.headers.get('X-Forwarded-For',request.remote_addr)
- 处理多个代理的情况
X-Forwarded-For
【头部可能包含多个IP地址,用逗号分隔。通常第一个IP地址是原始客户端的IP地址。】
2、获取url中的参数
获取HTTP请求中的查询参数args
,以字典的形式返回request.args
。示例代码:
name = request.args.get('name', 'Anonymous')
3、获取HTTP请求的方法,比如GET、POST、PUT等request.method
method = request.method
4、获取HTTP POST请求中的表单数据,以字典的形式返回。request.form
password = request.form.get('password')
5、获取HTTP请求中的Cookie信息,以字典的形式返回。request.cookies
username = request.cookies.get('username')
6、获取HTTP请求的头信息,以字典的形式返回。request.headers
user_agent = request.headers.get('User-Agent')
7、用于获取POST、PUT等请求中的JSON数据。request.get_json()
data = request.get_json()
name = data.get('name')
8、用于获取原始的请求数据,通常用于处理非表单数据,比如XML或JSON数据。request.data
data = request.data #字符串数据需要进一步处理
#转JSON或者XML
9、用于获取上传的文件数据。request.files