>백엔드 개발 >C++ >C#을 사용하여 Unity에서 HTTP GET, POST, PUT 및 DELETE 요청을 보내는 방법은 무엇입니까?

C#을 사용하여 Unity에서 HTTP GET, POST, PUT 및 DELETE 요청을 보내는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2025-01-19 21:21:12884검색

How to Send HTTP GET, POST, PUT, and DELETE Requests in Unity using C#?

C#을 사용하여 Unity에서 HTTP 요청 보내기

Unity는 개발자가 인터넷을 통해 효율적으로 데이터를 교환할 수 있도록 사용자 정의 가능한 네트워킹 기능을 제공합니다. 이 가이드에서는 GET 및 POST 작업을 다루면서 C# 및 UnityWebRequest(Unity의 현재 네트워킹 API)를 사용하여 Unity에서 HTTP 요청을 보내는 방법에 대한 포괄적인 개요를 제공합니다.

요청 받기

GET 요청은 서버에서 데이터를 검색하는 데 사용됩니다. UnityWebRequest를 사용하여 GET 요청을 보내려면 다음 코드를 사용하세요.

<code class="language-csharp">IEnumerator GetRequest(string uri)
{
    UnityWebRequest uwr = UnityWebRequest.Get(uri);
    yield return uwr.SendWebRequest();

    if (uwr.isNetworkError)
    {
        Debug.Log("发送错误: " + uwr.error);
    }
    else
    {
        Debug.Log("接收: " + uwr.downloadHandler.text);
    }
}</code>

POST 요청

POST 요청은 서버에 데이터를 보내는 데 사용됩니다. 양식 데이터와 JSON 데이터를 보낼 수 있습니다.

양식 데이터를 사용한 POST 요청

<code class="language-csharp">IEnumerator PostRequest(string url)
{
    WWWForm form = new WWWForm();
    form.AddField("myField", "myData");
    form.AddField("Game Name", "Mario Kart");

    UnityWebRequest uwr = UnityWebRequest.Post(url, form);
    yield return uwr.SendWebRequest();

    if (uwr.isNetworkError)
    {
        Debug.Log("发送错误: " + uwr.error);
    }
    else
    {
        Debug.Log("接收: " + uwr.downloadHandler.text);
    }
}</code>

JSON 데이터를 사용한 POST 요청

<code class="language-csharp">IEnumerator PostRequest(string url, string json)
{
    var uwr = new UnityWebRequest(url, "POST");
    byte[] jsonToSend = new System.Text.UTF8Encoding().GetBytes(json);
    uwr.uploadHandler = (UploadHandler)new UploadHandlerRaw(jsonToSend);
    uwr.downloadHandler = (DownloadHandler)new DownloadHandlerBuffer();
    uwr.SetRequestHeader("Content-Type", "application/json");

    yield return uwr.SendWebRequest();

    if (uwr.isNetworkError)
    {
        Debug.Log("发送错误: " + uwr.error);
    }
    else
    {
        Debug.Log("接收: " + uwr.downloadHandler.text);
    }
}</code>

다중 부분 양식 데이터/다중 부분 양식 파일을 사용한 POST 요청

<code class="language-csharp">IEnumerator PostRequest(string url)
{
    List<IMultipartFormSection> formData = new List<IMultipartFormSection>();
    formData.Add(new MultipartFormDataSection("field1=foo&field2=bar"));
    formData.Add(new MultipartFormFileSection("my file data", "myfile.txt"));

    UnityWebRequest uwr = UnityWebRequest.Post(url, formData);
    yield return uwr.SendWebRequest();

    if (uwr.isNetworkError)
    {
        Debug.Log("发送错误: " + uwr.error);
    }
    else
    {
        Debug.Log("接收: " + uwr.downloadHandler.text);
    }
}</code>

PUT 요청

<code class="language-csharp">IEnumerator PutRequest(string url)
{
    byte[] dataToPut = System.Text.Encoding.UTF8.GetBytes("Hello, This is a test");
    UnityWebRequest uwr = UnityWebRequest.Put(url, dataToPut);
    yield return uwr.SendWebRequest();

    if (uwr.isNetworkError)
    {
        Debug.Log("发送错误: " + uwr.error);
    }
    else
    {
        Debug.Log("接收: " + uwr.downloadHandler.text);
    }
}</code>

삭제 요청

<code class="language-csharp">IEnumerator DeleteRequest(string url)
{
    UnityWebRequest uwr = UnityWebRequest.Delete(url);
    yield return uwr.SendWebRequest();

    if (uwr.isNetworkError)
    {
        Debug.Log("发送错误: " + uwr.error);
    }
    else
    {
        Debug.Log("已删除");
    }
}</code>

위 내용은 C#을 사용하여 Unity에서 HTTP GET, POST, PUT 및 DELETE 요청을 보내는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.