首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >可以使用中间层作为API旁路CORS吗?

可以使用中间层作为API旁路CORS吗?
EN

Stack Overflow用户
提问于 2018-10-01 08:30:13
回答 2查看 1.5K关注 0票数 0

我正在使用ReactJS开发一个应用程序,该应用程序使用Hyperion提供的rest与另一个企业应用程序(Oracle )通信。问题是这个API不受官方支持,也不支持CORS。我试图找到解决这个问题的办法,但没有成功。

在试图解决另一个问题的同时,我创建了一个Python应用程序,并使ReactJS应用程序和Hyperion之间的所有通信都通过它。不知怎么的,这使得正在发生的CORS错误消失了。我在Flask应用程序中使用了以下导入和功能

代码语言:javascript
运行
复制
from flask_cors import CORS, cross_origin

CORS(app)

ReactJS应用程序现在只使用Axios与Flask应用程序通信,并且所有请求都是成功的,而不需要允许CORS插件。

的问题是:我现在需要知道这是如何可能的,因为我有一个命令,避免使用出于不同的原因。我想知道问题是如何解决的,以确保当我用另一种语言重写这个部分时,它不会再次出现,或者甚至消除它。在中间使用API是否解决了CORS问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-10-01 09:15:03

服务器发送的cors头由客户端进行验证,所以强制Cors的是客户机。存在禁用cors的浏览器插件,但出于安全考虑,这是不可取的。处理此问题的通常方法是使用反向代理,并将相关的HTTP访问控制响应头添加到响应中。因此,您可以通过使用反向代理(例如nginx/apache)来避免使用python。api与此无关,实际上,在您的情况下,您正在使用烧瓶作为一个反向代理来添加cors头。您可以通过使用浏览器开发工具来调试这一点。

票数 3
EN

Stack Overflow用户

发布于 2020-10-15 14:57:29

我的代码要切入CORS

导入请求

代码语言:javascript
运行
复制
proxyUrl = 'https://cors-anywhere.herokuapp.com/'
url = 'Endpoint URL you want yo post to'
datas= {'data1': 'daVal1', 'data2': 'daVal2'}
headers = {'x-requested-with':'root_URL_Of_Endpoint', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36'}

x = requests.post(url, data = myobj, headers=headers)

print(x.text)

享受吧!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52587236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档