用UnityWebRequest请求网络
时间: 2024-01-24 16:20:01 浏览: 138
unity-HttpWebRequest
4星 · 用户满意度95%
在Unity中,可以使用UnityWebRequest类来进行网络请求。以下是一个简单的示例:
```c#
IEnumerator GetRequest(string url)
{
using (UnityWebRequest request = UnityWebRequest.Get(url))
{
yield return request.SendWebRequest();
if (request.result == UnityWebRequest.Result.Success)
{
string responseText = request.downloadHandler.text;
Debug.Log(responseText);
}
else
{
Debug.Log("Error: " + request.error);
}
}
}
```
上面的代码使用UnityWebRequest类发送GET请求,并在接收到响应后打印响应文本。您可以通过调用上面的代码来执行此请求:
```c#
StartCoroutine(GetRequest("https://www.example.com"));
```
请注意,上面的代码使用了协程,因此必须在MonoBehaviour的派生类中使用。如果您需要使用同步请求,可以使用以下代码:
```c#
UnityWebRequest request = UnityWebRequest.Get(url);
request.SendWebRequest();
while (!request.isDone)
{
yield return null;
}
if (request.result == UnityWebRequest.Result.Success)
{
string responseText = request.downloadHandler.text;
Debug.Log(responseText);
}
else
{
Debug.Log("Error: " + request.error);
}
request.Dispose();
```
请注意,上面的代码在等待请求完成时一直等待,因此可能会阻塞主线程。建议仅在必要时使用此方法,并将其包装在协程中以避免阻塞主线程。
阅读全文