我有一台服务器已经设置好了,正在生产环境中运行,我们有很多应用程序调用这个Web服务器。下面的代码是为了演示它允许任何来源的请求。
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
app.UseExceptionHandler("/Home/Error");
app.UseStaticFiles();
app.UseCors(builder =>
{
builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader();
});
这适用于当前所有已设置的服务器。它在我们内部网络中,其他内部服务器将使用此服务。
我正在创建一个概念验证,尝试通过使用Vue
逐步现代化我们的应用程序。但这个axios
请求出现了错误。调用此方法的其他服务器也使用.NET,但应该构建相同的请求。
以下是错误信息。
加载 https://{server}/api/application/36626 失败:请求资源上未提供 'Access-Control-Allow-Origin' 标头。因此,不允许来源为 'http://localhost:8080' 的访问。
显然这是axios
在说废话。我允许任何来源。我不能想象我们只想使用'simple-requests',因此简单请求的w3标准可能不起作用。 我想也许这是一个错误的错误,考虑到这是从服务器返回的octet-stream
。下面是代码。
<script>
import axios from 'axios'
export default {
name: 'AppList',
data () {
return {
applist: [],
errors: []
}
},
created: function() {
axios.get('https://{server}/api/application/36626')
.then(r => { console.log(response); })
.catch(ex => {
this.errors.push(ex);
})
}
}
</script>
编辑:我对这台机器拥有完全的权限,并确认我可以在本地机器上使用Postman GET请求而没有任何问题。
编辑2:有效的curl命令curl -X GET --header 'Accept: application/octet-stream' 'https://{server}/api/Application/36626'