标签:解决方案 选择性 des 不同 form for 攻击 png flask
# coding:utf-8 from flask import Flask, request app = Flask(__name__) @app.route(‘/index‘, methods=[‘GET‘, ‘POST‘]) def index(): return ‘test ok‘ if __name__ == ‘__main__‘: app.run(host=‘0.0.0.0‘, debug=True)
不重要的注意:为了让文档看起来不那么冗长,我选择性的减少了空行
通过上面一系列的操作大致应该了解如果发送一次请求,接下来的有些操作,有可能是文字形容不太清楚的。所以仔细的看一下截图的每一个带有选框和你下载Postman不一样的地方。
一个包含解析过的从 POST 或 PUT 请求发送的表单对象的 MultiDict 。请注意上传的文件不会在这里,而是在 files 属性中。
一个包含解析过的查询字符串( URL 中问号后的部分)内容的 MultiDict 。
一个包含 form 和 args 全部内容的 CombinedMultiDict 。
一个包含请求中传送的所有 cookie 内容的 dict 。
如果表单提交的数据没有以已知的 mimetype 编码,为性能考虑,数据会不经修改存储在这个流中。大多数情况下,使用可以把数据提供为字符串的 data 是更好的方法。流只返回一次数据。
进入请求的标头存为一个类似字典的对象。
如果进入的请求数据是 Flask 不能处理的 mimetype ,数据将作为字符串存于此。
一个包含 POST 和 PUT 请求中上传的文件的 MultiDict 。每个文件存储为FileStorage 对象。其基本的行为类似你在 Python 中见到的标准文件对象,差异在于这个对象有一个 save() 方法可以把文件存储到文件系统上。
底层的 WSGI 环境。
当前请求的 HTTP 方法 (POST , GET 等等)
# coding:utf-8 # request中包含了前端发送过来的所有请求数据 from flask import Flask, request app = Flask(__name__) @app.route(‘/index‘, methods=[‘GET‘, ‘POST‘]) def index(): # 接收客户端请求过来的数据 # 通过requset.form可以直接提取请求体中的表单格式的数据, 是一个类似字典的对象 name = request.form.get(‘username‘) pwd = request.form.get(‘password‘) return ‘username = %s, password = %s‘ % (name, pwd) if __name__ == ‘__main__‘: app.run(host=‘0.0.0.0‘, debug=True)
一个不重要的注意:请把注意点放在Flask框架上,这个Postman不是重点,主要是后端通过request接收前端发送过来的数据才是重点,理清request才是最主要的。你也可以通过页面发送到视图,你任何可以发起请求的方式都是可以的不单单只有Postman
from flask import Flask, request app = Flask(__name__) @app.route(‘/index‘, methods=[‘GET‘, ‘POST‘]) def index(): name = request.form[‘username‘] # 注意这里为更改代码 # name = request.form.get(‘username‘) pwd = request.form.get(‘password‘) return ‘username = %s, password = %s‘ % (name, pwd) if __name__ == ‘__main__‘: app.run(host=‘0.0.0.0‘, debug=True)
from flask import Flask, request app = Flask(__name__) @app.route(‘/index‘, methods=[‘GET‘, ‘POST‘]) def index(): # name = request.form[‘username‘] name = request.form.get(‘username‘) # 这次是通过get()方法接受数据 pwd = request.form.get(‘password‘) return ‘username = %s, password = %s‘ % (name, pwd) if __name__ == ‘__main__‘: app.run(host=‘0.0.0.0‘, debug=True)
from flask import Flask, request app = Flask(__name__) @app.route(‘/index‘, methods=[‘GET‘, ‘POST‘]) def index(): # 通过get方法只能拿到多个同名参数的第一个 name = request.form.get(‘username‘) pwd = request.form.get(‘password‘) # 通过getlist() 可以获取多个 name_list = request.form.getlist(‘username‘) return ‘username = %s, password = %s, username_list = %s‘ % (name, pwd, name_list) if __name__ == ‘__main__‘: app.run(host=‘0.0.0.0‘, debug=True)
from flask import Flask, request app = Flask(__name__) @app.route(‘/index‘, methods=[‘GET‘, ‘POST‘]) def index(): # 如果是请求体的数据不是表单格式的(如json格式),可以通过request.data获取 json_data = request.data return ‘json_data = %s‘ % json_data if __name__ == ‘__main__‘: app.run(host=‘0.0.0.0‘, debug=True)
from flask import Flask, request app = Flask(__name__) @app.route(‘/index‘, methods=[‘GET‘, ‘POST‘]) def index(): # args是用来提取url中的参数(查询字符串) age = request.args.get(‘age‘) city = request.args.get(‘city‘) return ‘age : %s, city : %s‘ % (age, city) if __name__ == ‘__main__‘: app.run(host=‘0.0.0.0‘, debug=True)
from flask import Flask, request app = Flask(__name__) @app.route(‘/‘, methods=[‘POST‘]) def upload(): # 使用files属性来访问保存在内存中或者文件系统中一个临时的位置的这个上传文件 file_obj = request.files.get(‘pic‘) # 使用save方法来保存刚刚获取的上传文件 file_obj.save(‘/home/python/图片/upload.jpg‘) return ‘文件上传完毕‘ if __name__ == ‘__main__‘: app.run(host=‘0.0.0.0‘, debug=True)
# coding:utf-8 # request中包含了前端发送过来的所有请求数据 from flask import Flask, request from werkzeug import secure_filename import os # 存储上传文件的路径 UPLOAD_FOLDER = ‘/home/python/图片/‘ # 允许的文件类型 ALLOWED_EXTENSIONS = set([‘txt‘, ‘pdf‘, ‘png‘, ‘jpg‘, ‘jpeg‘, ‘gif‘]) app = Flask(__name__) # 将路径添加到配置中 app.config[‘UPLOAD_FOLDER‘] = UPLOAD_FOLDER # 用来验证用户上传的文件是否是允许的 def allowed_file(filename): # 判断文件中是否有. and 用.只截取1次文件名得到的一个列表,选择列表第二个值看是否属于被允许的文件类型 return ‘.‘ in filename and filename.rsplit(‘.‘, 1)[1] in ALLOWED_EXTENSIONS @app.route(‘/‘, methods=[‘POST‘]) def upload(): # 使用files属性来访问保存在内存中或者文件系统中一个临时的位置的这个上传文件 file_obj = request.files.get(‘pic‘) # 判断用户是否上传了文件 和 文件是否是允许的类型 if file_obj and allowed_file(file_obj.filename): filename = secure_filename(file_obj.filename) file_obj.save(os.path.join(UPLOAD_FOLDER, filename)) return ‘文件上传完毕‘ else: return ‘文件上传失败‘ if __name__ == ‘__main__‘: app.run(host=‘0.0.0.0‘, debug=True)
标签:解决方案 选择性 des 不同 form for 攻击 png flask
原文地址:https://www.cnblogs.com/Hannibal-2018/p/11216389.html