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爬取软考试题之ip自动代理
Mar 28 Python
python生成以及打开json、csv和txt文件的实例
Nov 16 Python
python中正则表达式与模式匹配
May 07 Python
pybind11在Windows下的使用教程
Jul 04 Python
python使用matplotlib绘制雷达图
Oct 18 Python
python实现两个字典合并,两个list合并
Dec 02 Python
Keras设定GPU使用内存大小方式(Tensorflow backend)
May 22 Python
浅谈tensorflow使用张量时的一些注意点tf.concat,tf.reshape,tf.stack
Jun 23 Python
Django REST Swagger实现指定api参数
Jul 07 Python
基于OpenCV的路面质量检测的实现
Nov 04 Python
分享一枚pycharm激活码适用所有pycharm版本我的pycharm2020.2.3激活成功
Nov 20 Python
Python爬虫之Selenium设置元素等待的方法
Dec 04 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一些常用的正则表达式字符的一些转换
2008/07/29 PHP
php自动加载机制的深入分析
2013/06/08 PHP
Php连接及读取和写入mysql数据库的常用代码
2014/08/11 PHP
CodeIgniter视图使用注意事项
2016/01/20 PHP
PHP实现防盗链的方法分析
2017/07/25 PHP
bcastr2.0 通用的图片浏览器
2006/11/22 Javascript
javascript天然的迭代器
2010/10/29 Javascript
jQuery中:image选择器用法实例
2015/01/03 Javascript
从重置input file标签中看jQuery的 .val() 和 .attr(“value”) 区别
2016/06/12 Javascript
微信小程序 WebSocket详解及应用
2017/01/21 Javascript
详解Vue 开发模式下跨域问题
2017/06/06 Javascript
微信小程序 获取二维码实例详解
2017/06/23 Javascript
详解ES6中的三种异步解决方案
2018/06/28 Javascript
js字符串倒序的实例代码
2018/11/30 Javascript
Vue实现微信支付功能遇到的坑
2019/06/05 Javascript
vue通过video.js解决m3u8视频播放格式的方法
2019/07/30 Javascript
JS中的变量作用域(console版)
2020/07/18 Javascript
[05:15]2018年度CS GO社区贡献奖-完美盛典
2018/12/16 DOTA
Python使用PIL库实现验证码图片的方法
2016/03/11 Python
Python3简单实例计算同花的概率代码
2017/12/06 Python
Python实现自定义顺序、排列写入数据到Excel的方法
2018/04/23 Python
Python基于matplotlib画箱体图检验异常值操作示例【附xls数据文件下载】
2019/01/07 Python
Django组件之cookie与session的使用方法
2019/01/10 Python
Python获取基金网站网页内容、使用BeautifulSoup库分析html操作示例
2019/06/04 Python
Django 博客实现简单的全文搜索的示例代码
2020/02/17 Python
小程序瀑布流解决左右两边高度差距过大的问题
2019/02/20 HTML / CSS
大学应届生的自我评价
2014/03/06 职场文书
学校四风对照检查材料
2014/08/28 职场文书
委托证明书
2014/09/17 职场文书
2014年党员教师自我剖析材料
2014/09/30 职场文书
2014年终个人工作总结
2014/11/07 职场文书
家长通知书家长意见
2014/12/30 职场文书
青年志愿者活动感想
2015/08/07 职场文书
志愿服务心得体会
2016/01/15 职场文书
Go 通过结构struct实现接口interface的问题
2021/10/05 Golang
python 管理系统实现mysql交互的示例代码
2021/12/06 Python