获取失败。可能的原因:CORS网络故障。URL方案必须为“http”或“https”以进行CORS请求。

15
我正在尝试从Swagger文档中向我的本地API发出请求,但每次我发出请求时都会出现这个错误。

enter image description here


1
浏览器开发工具的控制台标签页上显示了什么错误信息? - Helen
刚遇到了同样的问题。似乎我的网络驱动程序出了问题,或者别的什么问题。套接字无法打开。重启之后一切恢复正常。 我不知道根本原因,如果你发现了什么或者重启也有帮助,我很感兴趣。 - Cyril ANDRE
我成功解决了问题,实际上问题出在我尝试访问的API本身。 - Iago Alexandre
@IagoAlexandre 问题出在哪里?我仍然遇到同样的问题。 - natielle
我刚遇到了这个问题。试了几个小时来找出原因,最后发现是跟我添加到响应中的Cookie有关。问题是Cookie太大了,但没有任何错误提示实际的问题。 - Juan Portillo
请分享更多细节,比如文本形式的错误信息,以及您尝试解决问题的方法。 - undefined
8个回答

6

首先检查您的地址是否被CORS屏蔽,对于开发测试,您可以使用Access-Control-Allow-Origin:*

如果这对您无效,请检查您的浏览器上是否使用了一些阻止广告的扩展程序。您可以从浏览器中删除该扩展程序,重新启动浏览器并再次进行测试,这样就可以生效。


5

在我的情况下,我通过127.0.0.1:3000访问Web应用程序,一旦我将其更改为localhost:3000,它就可以正常工作了,希望这有所帮助。


3

启动IIS Express后... Web API在2个URL上注册, 一个端口用于HTTP,另一个用于HTTPS。 当您调用HTTP端口时,您会看到此错误:无法获取。可能的原因:CORS网络故障,CORS请求的URL方案必须为“http”或“https”。 请将端口更改为HTTPS端口。


2

我在swagger.json文件中错误地将主机端口设置为http://localhost:3000,而我的服务器正在使用端口:5000运行。 一旦我更新了主机端口以匹配我在swagger ui中发送请求时使用的端口,问题就解决了。


1
在屏幕顶部的运行图标中选择“http”选项:enter image description here

这个建议可能有用,但并不完全清楚你设置http选项的目的是什么。解释外部链接将会很有帮助。 - user7247147

0
一种边缘情况,但如果你正在从容器中运行,请确保你正确地进行了端口转发。

enter image description here

正如上面的一个答案所述,您的应用程序应该在localhost:<port_of_choice>上运行,而不是在127.0.0.1:<port_of_choice>上运行。

0
使用Open API Swagger实现,我通过将以下内容添加到主应用程序类中使其正常工作。
@OpenAPIDefinition(
  servers = {
    @Server(url = "/myapp/", description = "Default Server URL")
  }
)

这样可以在不需要显式选择协议的情况下同时支持http和https连接。因此,本地(http)和开发服务器(https)都可以正常工作。

-1
我知道这很愚蠢,但请检查服务器是否正在运行。

是的,那真是太愚蠢了:如果服务器没有运行,错误信息会有所不同。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接