在Unity中可以使用 UnityWebRequest 和 HttpClient 这两个类来实现HTTP请求

发布时间 2023-04-24 18:03:26作者: xiondun
using System.Collections;
using UnityEngine;
using UnityEngine.Networking;

public class HttpTest : MonoBehaviour
{
    void Start()
    {
        StartCoroutine(UnityWebRequestDemo());
    }

    IEnumerator UnityWebRequestDemo()
    {
        using (UnityWebRequest www = UnityWebRequest.Get("http://www.example.com")) // 创建一个GET请求
        {
            yield return www.SendWebRequest(); // 发送请求

            if (www.result == UnityWebRequest.Result.ConnectionError || www.result == UnityWebRequest.Result.ProtocolError) // 检查是否存在错误
            {
                Debug.LogError(www.error);
            }
            else
            {
                Debug.Log(www.downloadHandler.text); // 获取响应内容
            }
        }
    }
}

  

 

 

 

using System.Collections;
using System.Net.Http;
using UnityEngine;

public class HttpTest : MonoBehaviour
{
    void Start()
    {
        StartCoroutine(HttpClientDemo());
    }

    IEnumerator HttpClientDemo()
    {
        using (HttpClient client = new HttpClient()) // 创建一个HttpClient实例
        {
            HttpResponseMessage response = await client.GetAsync("http://www.example.com"); // 发送GET请求并获取响应

            if (!response.IsSuccessStatusCode) // 检查是否存在错误
            {
                Debug.LogError(response.StatusCode);
            }
            else
            {
                string responseBody = await response.Content.ReadAsStringAsync(); // 获取响应内容
                Debug.Log(responseBody);
            }
        }
    }
}