"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > c#을 사용하여 http get, post, put 및 삭제 요청을 유니티로 보내는 방법은 무엇입니까?

c#을 사용하여 http get, post, put 및 삭제 요청을 유니티로 보내는 방법은 무엇입니까?

2025-02-17에 게시되었습니다
검색:592

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

c#

를 사용하여 Unity로 http 요청을 보내십시오.]

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

요청 받기

]

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

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);
    }
}

post request

]]]

Post Request는 데이터를 서버로 보내는 데 사용됩니다. 양식 데이터 및 JSON 데이터를 보낼 수 있습니다.

양식 데이터를 사용한 게시물 요청

]
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);
    }
}

JSON 데이터를 사용한 게시물 요청

]
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);
    }
}

multipart form data/multipart 양식 파일을 사용한 게시물 요청

]
IEnumerator PostRequest(string url)
{
    List formData = new List();
    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);
    }
}

풋 요청

]
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);
    }
}

삭제 요청 삭제

]
IEnumerator DeleteRequest(string url)
{
    UnityWebRequest uwr = UnityWebRequest.Delete(url);
    yield return uwr.SendWebRequest();

    if (uwr.isNetworkError)
    {
        Debug.Log("发送错误: "   uwr.error);
    }
    else
    {
        Debug.Log("已删除");
    }
}
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3