因此,我一直在try 将Unity项目与API连接起来,并将其构建在WebGL平台上. 在Android、Windows App和WebGL IN Unity上,它运行得很好,但当我在WebGL平台上构建它时,它就不能运行了. 查看下面的API链接进行测试: http://syriatech07-001-site1.htempurl.com/Users

我已经找到了解决方案,但我不知道如何应用它,就是在标题中添加一个HOST. 我试过这个接口"https://httpbin.org/get"",它运行得很好. 如果需要更多的信息,请让我知道.

Edit:
Here's the connection code:

IEnumerator GetDataCoroutineASync()
{
    // Showing the result
    outPutArea.text = "Loading.....";

    string uri = "http://syriatech07-001-site1.htempurl.com/Users";
    using (UnityWebRequest request = UnityWebRequest.Get(uri))
    {
        request.SetRequestHeader("Host", "syriatech07-001-site1.htempurl.com");
        request.SetRequestHeader("Access-Control-Allow-Methods", "*");
        request.SetRequestHeader("Access-Control-Allow-Headers", "append,delete,entries,foreach,get,has,keys,set,values,Authorization,Origin, Content-Type, X-Auth-Token,Accept, X-Requested-With, Access-Control-Request-Method, Access-Control-Request-Headers");
        request.SetRequestHeader("Access-Control-Allow-Origin", "*");

        var op = request.SendWebRequest();

        yield return op;

        if (request.isNetworkError)
        { outPutArea.text = "isNetworkError"; }
        else if (request.isHttpError)
        { outPutArea.text = "isHttpError"; }
        else
        { outPutArea.text = request.downloadHandler.text; }
    }
}

Access to fetch at 'http://syriatech07-001-site1.htempurl.com/Users' from origin 'http://localhost:64929' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status. syriatech07-001-site1.htempurl.com/Users:1 Failed to load resource: net::ERR_FAILED

推荐答案

您使用的是asp核心最小API,将此代码添加到您的web.config中,它就会正常工作.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.webServer>
        <httpProtocol>
            <customHeaders>
                <add name="Access-Control-Allow-Origin" value="*" />
            </customHeaders>
        </httpProtocol>
    </system.webServer>
</configuration>

此外,请删除您已添加的所有标题.

Request.SetRequestHeader

有关更多信息,请查看SmarterAsp上的此link

Csharp相关问答推荐

为什么我在PuppeteerSharp中运行StealthPlugin时会出现错误?

EF Core:看不到任何查询日志(log)?

编写DataAnnotations自定义验证器的多种方法

数组被内部函数租用时,如何将数组返回给ArrayPool?

==和Tuple对象的相等<>

如果属性名为xyz,我需要使用System.Text.Json修改字符串类型的值""<>

try 在Blazor项目中生成html

如何在NodaTime中为Instant添加一年?

为什么SignalR在每个Blazor服务器应用程序启动时最多启动8个服务器?

使用C#HttpClient以多部分形式数据发送带有非ASCII文件名的文件的问题

当用户右键单击文本框并单击粘贴时触发什么事件?

为具有实体框架后端的Reaction项目 Select 正确的Visual Studio模板

为什么无法将对象转换为泛型类型

在字符串C#之前获取数字

是否可以将Collectionview中的数组与ObservableCollection绑定?

RX操作员使用先前值进行扫描,信号来自值本身

如何使用.NET Aspire从Blazor应用程序与GRPC API通信?

将C#类导入到PowerShell

在Unity C#中按键点击错误的参数

如何在JSON:API中定义的&过滤查询参数系列&标准的GET请求中传递多个相关参数?