首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >HTTP对外部API的请求被CORS策略从除localhost以外的所有来源阻止。

HTTP对外部API的请求被CORS策略从除localhost以外的所有来源阻止。
EN

Stack Overflow用户
提问于 2019-11-24 21:30:18
回答 1查看 1.1K关注 0票数 0

我正在创建一个有角度的应用程序,我想使用DEGIRO公共API。跨源请求在我的应用程序和外部API之间出现了问题。

,当使用ng serve本地主机上运行应用程序时,我的飞行前请求通过访问控制检查完美。但是,当我使用运行应用程序时,遇到了问题--任何其他来源的主机,就像任何IPv4 4-address:4200与ng serve --host [any IPv4-address]。同样的问题在部署到例如Firebase之后也会发生。

为了与API通信,我使用具有角度的HttpClientModule,如下图所示。

角HTTP POST API调用

下面的错误信息向我描述了我遇到的问题。

代码语言:javascript
运行
复制
"Access to XMLHttpRequest at 'https://trader.degiro.nl/login/secure/login' from origin
'http://192.168.178.120:4200' has been blocked by CORS policy: Response to preflight request
doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the
requested resource."

此错误使我感到困惑的主要原因是它不发生在本地主机中。在下面的两个图像中,显示了飞行前请求头(localhost:4200& 192.168.178.52:4200)之间的差异。请注意,唯一的区别是起源和引用标题。在Firebase上部署的应用程序也类似于这样。

Http请求头(localhost)

Http请求头(IPv4 4-地址)

我尝试过通过添加一个'content-type': 'text/plain'头来跳过飞行前请求,但是即使是现在简单的请求也不会被CORS策略所接受。

我也读过几个类似的问题,但没有一个完全符合我的情况,他们的解决方案也没有。除了这些,我还读了一些关于CORS的文章。我发现这篇文章内容丰富,很有帮助。https://www.html5rocks.com/en/tutorials/cors/

我想不出更多的背景了。我希望这篇文章是清楚的,你能帮上忙。无论如何,谢谢!

EN

回答 1

Stack Overflow用户

发布于 2019-11-24 21:57:17

您是否请求使用VWD服务?正如我首先看到的,您需要发出POST请求:

代币

并提供标题:Origin: 'https://trader.degiro.nl',并提供主体:JSON.stringify({referrer: 'https://trader.degiro.nl'})

在您获得会话之后,您可以使用它,例如:获取VWD问题ID的最新出价/要价

看看这个包裹,看看他们是如何让它工作的。

干杯:)

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

https://stackoverflow.com/questions/59022613

复制
相关文章

相似问题

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