Enviar solicitação http na unidade usando c#
]O Unity fornece recursos de rede personalizáveis que permitem aos desenvolvedores trocar dados com eficiência pela Internet. Este guia fornecerá uma visão geral abrangente de como enviar solicitações HTTP na Unidade usando C# e UnityWebRequest (API de rede atual da Unity), cobrindo as operações GET e POST.
Get Request
]Get Solicy é usado para recuperar dados do servidor. Para enviar uma solicitação Get usando o UnityWebRequest, use o seguinte código:
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
]A solicitação de postagem é usada para enviar dados para o servidor. Você pode enviar dados de formulário e dados JSON.
Post Solicy usando o Form Data
]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);
}
}
Post Solicy usando JSON Data
]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);
}
}
Post Solicy usando arquivos de formulário de formulário multipart/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);
}
}
Cut Request
]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);
}
}
delete request
]IEnumerator DeleteRequest(string url)
{
UnityWebRequest uwr = UnityWebRequest.Delete(url);
yield return uwr.SendWebRequest();
if (uwr.isNetworkError)
{
Debug.Log("发送错误: " uwr.error);
}
else
{
Debug.Log("已删除");
}
}
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3