python flask 处理 url param和header和form和json
基于HTTP协议客户端和服务端传递信息通常会把具体的内容放在四个地方。
-
放在url的请求参数中,get和post都可以,不过大部分情况下以get居多。
-
POST 的form中,在服务端渲染表单盛行(struts,flask_wtf)的年代,登陆,注册等基本都是把用户填写的信息放在form中。
-
post中的json格式,现在最佳的实践方案就是前后端通过restful的API,传递json数据来进行通信。
-
还有很多时候是需要获取http的head信息,比如一些auth信息或者referer,useragent的信息等。
获取url和form以及header内容
Postman 发送的http测试请求
POST /test?x=valueX HTTP/1.1 Host: 127.0.0.1:5000 Content-Type: application/x-www-form-urlencoded z: valueZ Cache-Control: no-cache Postman-Token: bb060ed5-783e-6470-05ee-f05a71df972c y=valueY
处理请求:
from flask import request @app.route('/test', methods=['GET', 'POST']) def test(): # 获取 url 参数内容 x = request.args.get("x") # 获取 form 表单内容 y = request.form.get("y") # 获取 http 头部内容 z = request.headers.get("z") print("x from url param: ", x) print("y from form param: ", y) print("z from headers: ", z) return "test"
获取json内容
发起的请求
POST /test HTTP/1.1 Host: 127.0.0.1:5000 Content-Type: application/json z: valueZ Cache-Control: no-cache Postman-Token: 2b3e8991-a48e-1653-c6e3-1b07d7411a29 {"url": "http://dig404.com"}
处理json请求
@app.route('/test', methods=['GET', 'POST']) def test(): # 获取json格式的body,返回直接就是dict类型 content = request.get_json(silent=True) content.get('url', None) print(content) return ""
如果喜欢,您就给个赞呗。
原文地址:https://www.jianshu.com/p/709880b4af2e
相关推荐
-
日志的艺术(The art of logging) python基础
2019-5-15
-
R做多元线性回归全攻略 python基础
2019-8-26
-
Python: 浅谈函数局部变量”快”在哪 python基础
2018-12-5
-
Python进阶:@property 动态属性 python基础
2019-10-9
-
通过scrapy爬取一号店商品信息 python基础
2020-5-31
-
P2P平台数据爬取分析 python基础
2019-8-28
-
python中的virtualenv命令集 python基础
2019-8-25
-
机器学习5- 对数几率回归+Python实现 python基础
2020-6-11
-
想要升职加薪?先管理好时间与目标! python基础
2019-5-15
-
Python网络编程之socket应用 python基础
2019-3-25