Python 使用CORS跨域资源共享解决flask服务器跨域问题、浏览器同源策略

简介: Python 使用CORS跨域资源共享解决flask服务器跨域问题、浏览器同源策略

CORS 全称 Cross-origin resource sharing(跨域资源共享),只要服务端配置了 CORS,前端调用时就可以实现跨域访问了。

形式就是封装在 header 里的一些参数,例如:Access-Control-Allow-Methods(配置跨域允许的请求方式)、 Access-Control-Request-Headers(配置允许跨域的请求头)等参数。


flask 装饰器跨域解决方法:

首先 pip install flask_cors 安装对应的库。

4de80e7836534a24bc07e835610c3bdd.png

通过 from flask_cors import cross_origin 导入。

然后添加 @cross_origin() 装饰器在涉及跨域的方法前面就解决了。


# -*- coding:utf-8 -*-
import flask
from flask_cors import cross_origin
app = flask.Flask(__name__)
# 通过json传输数组数据
@app.route('/get_data')
@cross_origin()
def get_data():
    json_data = {
                "data1":[48, 57, 55, 80, 67, 67, 29, 19,20,15,5,11,3,100,190],
                "data2":[1, 57, 55, 300, 67, 67, 29, 19,20,15,5,11,3,10,190]
                }
    return json_data;
# 后端ip
host_ip = "127.0.0.1"
# 端口号
host_port = 15004
app.run(host = host_ip, port = host_port)

这样跨域再访问 http://127.0.0.1:15004/get_data 地址就没有问题了。

上面是针对单个的路由,下面是全局的。

cors 函数跨域解决方法:

首先是 from flask_cors import CORS 导入 CORS() 函数,

然后通过 CORS(app) 把 flask 对象所为参数传入即可。

# -*- coding:utf-8 -*-
import flask
from flask_cors import CORS
app = flask.Flask(__name__)
CORS(app)
# 通过json传输数组数据
@app.route('/get_data')
def get_data():
    json_data = {
                "data1":[48, 57, 55, 80, 67, 67, 29, 19,20,15,5,11,3,100,190],
                "data2":[1, 57, 55, 300, 67, 67, 29, 19,20,15,5,11,3,10,190]
                }
    return json_data;
# 后端ip
host_ip = "127.0.0.1"
# 端口号
host_port = 15004
app.run(host = host_ip, port = host_port)

喜欢的点个赞❤吧!

目录
相关文章
|
3天前
|
存储 安全 JavaScript
浏览器的同源策略
【10月更文挑战第31天】浏览器的同源策略是浏览器安全模型的重要组成部分,它通过限制不同源之间的资源交互,有效地保护了用户和网站的安全。开发者在进行Web开发时,需要充分理解和遵循同源策略,同时合理地运用各种跨域技术来满足业务需求,确保网站的安全性和功能性的平衡。
7 2
|
27天前
|
Python
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
使用Python的socket库实现客户端到服务器端的图片传输,包括客户端和服务器端的代码实现,以及传输结果的展示。
107 3
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
|
27天前
|
JSON 数据格式 Python
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
本文介绍了如何使用Python的socket模块实现客户端到服务器端的文件传输,包括客户端发送文件信息和内容,服务器端接收并保存文件的完整过程。
110 1
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
|
25天前
|
IDE 网络安全 开发工具
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
本文介绍了如何在PyCharm专业版中连接远程服务器并配置远程Python环境解释器,以便在服务器上运行代码。
207 0
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
|
27天前
|
Python
Flask学习笔记(二):基于Flask框架上传图片到服务器端并原名保存
关于如何使用Flask框架上传图片到服务器端并以其原名保存的教程。
69 1
|
27天前
|
Python
Flask学习笔记(三):基于Flask框架上传特征值(相关数据)到服务器端并保存为txt文件
这篇博客文章是关于如何使用Flask框架上传特征值数据到服务器端,并将其保存为txt文件的教程。
28 0
Flask学习笔记(三):基于Flask框架上传特征值(相关数据)到服务器端并保存为txt文件
|
10天前
|
缓存 监控 Linux
Python 实时获取Linux服务器信息
Python 实时获取Linux服务器信息
|
25天前
|
存储 监控 Linux
充分利用服务器的磁盘资源,提高系统的稳定性和可维护性
充分利用服务器的磁盘资源,提高系统的稳定性和可维护性
31 0
|
5天前
|
弹性计算
阿里云2核16G服务器多少钱一年?亲测价格查询1个月和1小时收费标准
阿里云2核16G服务器提供多种ECS实例规格,内存型r8i实例1年6折优惠价为1901元,按月收费334.19元,按小时收费0.696221元。更多规格及详细报价请访问阿里云ECS页面。
37 9
|
2天前
|
监控 Ubuntu Linux
使用VSCode通过SSH远程登录阿里云Linux服务器异常崩溃
通过 VSCode 的 Remote - SSH 插件远程连接阿里云 Ubuntu 22 服务器时,会因高 CPU 使用率导致连接断开。经排查发现,VSCode 连接根目录 ".." 时会频繁调用"rg"(ripgrep)进行文件搜索,导致 CPU 负载过高。解决方法是将连接目录改为"root"(或其他具体的路径),避免不必要的文件检索,从而恢复正常连接。