gpt4 book ai didi

c# - 在 Unity 上使用 .NET 自己的 httpClient 类

转载 作者:太空狗 更新时间:2023-10-30 00:38:46 25 4
gpt4 key购买 nike

我正在尝试从 Unity 发出 HTTP 删除请求,并想到使用 .Net 的 System.Web 命名空间中包含的 HttpRequest 类的想法

我怎样才能做到这一点,我想必须对该 namespace 进行某种导入,但是怎么做呢?

希望有人能给我一些指导

最佳答案

HttpClient仅适用于 4.5 NET 及更高版本,Unity 不使用该版本。 Unity 使用大约 3.5 .NET 版本。

如果您使用的是 Unity 5.3,UnityWebRequest.Delete可用于发出删除请求。它可以在 Experimental.Networking 中找到命名空间。如果您使用的是 Unity 5.4 及更高版本,UnityWebRequest可以在 UnityEngine.Networking; 中找到命名空间。

完整的工作示例:

IEnumerator makeRequest(string url)
{
UnityWebRequest delReq = UnityWebRequest.Delete(url);
yield return delReq.Send();

if (delReq.isError)
{
Debug.Log("Error: " + delReq.error);
}
else
{
Debug.Log("Received " + delReq.downloadHandler.text);
}
}

用法:

StartCoroutine(makeRequest("http://www.example.com/whatever"));

确保包含 using UnityEngine.Networking .您可以找到完整的示例 here .


编辑(更新)

Unity 现在支持 .NET 4.5,因此您现在可以根据需要使用 HttpClient。参见 this发布如何启用它。

启用后,转到 <UnityInstallationDirectory>\Editor\Data\MonoBleedingEdge\lib\mono\4.5或者例如 C:\Program Files\Unity\Editor\Data\MonoBleedingEdge\lib\mono\4.5在我的电脑上。

一旦进入这个目录,复制System.Net.Http.dll给你的<ProjectName>\Assets目录,你应该可以使用 HttpClient导入 System.Net.Http 后命名空间。如果还有其他关于缺少依赖项的错误,您也可以从此路径获取 dll 并将它们复制到您的 <ProjectName>\Assets目录也是。

关于c# - 在 Unity 上使用 .NET 自己的 httpClient 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38645336/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com