Flask解决跨域的问题示例代码


Posted in Python onFebruary 12, 2018

跨域文件上传的时候,浏览器会自动发起一个 OPTIONS 方法到服务器,现在后台解决前端跨域解决前端跨域请求的问题

客户端发起的这个 OPTIONS 可以说是一个“预请求”,用于探测后续真正需要发起的跨域 POST 请求对于服务器来说是否是安全可接受的,因为跨域提交数据对于服务器来说可能存在很大的安全问题

请求头 Access-Control-Request-Method 用于提醒服务器在接下来的请求中将会使用什么样的方法来发起请求

Access-Control-Allow-Method 和 Access-Control-Allow-Origin 分别告知客户端,服务器允许客户端用于跨域的方法和域名

示例

下载flask_cors 包

pip install flask-cors

使用flask_cors的CORS,代码示例

from flask_cors import *

app = Flask(__name__)
CORS(app, supports_credentials=True)

以下是Flask-CORS 的官方文档链接

http://flask-cors.readthedocs.io/en/latest/

实现

现在我们看看解决问题的实际案例

from flask_cors import CORS
app = Flask(__name__,)
# r'/*' 是通配符,让本服务器所有的URL 都允许跨域请求
CORS(app, resources=r'/*')
# 上传文件
@uploadFiles.route('/upload', methods=['POST'])
def uploadFile():
  result_text = {"statusCode": 200,"message": "文件上传成功"}
  response = make_response(jsonify(result_text))
  response.headers['Access-Control-Allow-Origin'] = '*'
  response.headers['Access-Control-Allow-Methods'] = 'OPTIONS,HEAD,GET,POST'
  response.headers['Access-Control-Allow-Headers'] = 'x-requested-with'
  return response

使用POSTMAN请求

Flask解决跨域的问题示例代码

遇到的问题

由于项目中路由是多级路由,通过主路由跳转到子路由,一开始的时候,允许跨域的配置在上传文件的子路由中进行设置,发现OPTIONS请求响应值中并没有返回预期的头文件,将跨域设置在主路由中设置即可

总结

以上就是本文关于Flask解决跨域的问题示例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
详解Python中open()函数指定文件打开方式的用法
Jun 04 Python
详解python3中socket套接字的编码问题解决
Jul 01 Python
Python 实现简单的shell sed替换功能(实例讲解)
Sep 29 Python
python中kmeans聚类实现代码
Feb 23 Python
Django 根据数据模型models创建数据表的实例
May 27 Python
Sanic框架蓝图用法实例分析
Jul 17 Python
python实现文件助手中查看微信撤回消息
Apr 29 Python
Django框架封装外部函数示例
May 28 Python
利用Python复制文件的9种方法总结
Sep 02 Python
Python 脚本实现淘宝准点秒杀功能
Nov 13 Python
Django 自定义分页器的实现代码
Nov 24 Python
python中sklearn的pipeline模块实例详解
May 21 Python
tensorflow实现对图片的读取的示例代码
Feb 12 #Python
python中数据爬虫requests库使用方法详解
Feb 11 #Python
python 接口测试response返回数据对比的方法
Feb 11 #Python
使用Python读取大文件的方法
Feb 11 #Python
python脚本作为Windows服务启动代码详解
Feb 11 #Python
分析Python读取文件时的路径问题
Feb 11 #Python
Django中针对基于类的视图添加csrf_exempt实例代码
Feb 11 #Python
You might like
解析php 版获取重定向后的地址(代码)
2013/06/26 PHP
PHP高精确度运算BC函数库实例详解
2017/08/15 PHP
Jquery显示、隐藏元素以及添加删除样式
2013/08/09 Javascript
使用jQuery实现验证上传图片的格式与大小
2014/12/03 Javascript
如何用javascript计算文本框还能输入多少个字符
2015/07/29 Javascript
使用CamanJS在Web页面上处理图像的技巧
2015/08/18 Javascript
JS实现仿腾讯微博无刷新删除微博效果代码
2015/10/16 Javascript
jQuery中inArray方法注意事项分析
2016/01/25 Javascript
教你用javascript实现随机标签云效果_附代码
2016/03/16 Javascript
JS实现页面数据无限加载
2016/09/13 Javascript
jQuery post数据至ashx实例详解
2016/11/18 Javascript
详解微信小程序——自定义圆形进度条
2016/12/29 Javascript
在node中如何使用 ES6
2017/04/22 Javascript
初学者AngularJS的环境搭建过程
2017/10/27 Javascript
vue-cli启动本地服务局域网不能访问的原因分析
2018/01/22 Javascript
JS实现常见的查找、排序、去重算法示例
2018/05/21 Javascript
JavaScript:ES2019 的新特性(译)
2019/08/08 Javascript
Javascript操作select控件代码实例
2020/02/14 Javascript
python绘制简单折线图代码示例
2017/12/19 Python
CentOS7下python3.7.0安装教程
2018/07/30 Python
Pandas之ReIndex重新索引的实现
2019/06/25 Python
基于python实现雪花算法过程详解
2019/11/16 Python
Ranorex通过Python将报告发送到邮箱的方法
2020/01/12 Python
使用Django xadmin 实现修改时间选择器为不可输入状态
2020/03/30 Python
css3实现文字扫光渐变动画效果的示例
2017/11/07 HTML / CSS
HTML+CSS3+JS 实现的下拉菜单
2020/11/25 HTML / CSS
HTML5离线缓存在tomcat下部署可实现图片flash等离线浏览
2012/12/13 HTML / CSS
请描述一下”is a”关系和”has a”关系
2015/02/03 面试题
外贸专业求职信
2014/03/09 职场文书
英语专业自荐书
2014/06/13 职场文书
委托书的写法
2014/08/30 职场文书
机动车交通事故协议书
2015/01/29 职场文书
幼师中班个人总结
2015/02/12 职场文书
承诺书模板大全
2015/05/04 职场文书
2015年学校综合治理工作总结
2015/07/20 职场文书
零基础学java之带返回值的方法的定义和调用
2022/04/10 Java/Android