c#
を使用してunityでHTTPリクエストを送信しますUnityは、開発者がインターネット上でデータを効率的に交換できるようにするカスタマイズ可能なネットワーク機能を提供します。このガイドでは、C#とUnityWebRequest(Unityの現在のネットワークAPI)を使用して、HTTPリクエストをUnityで送信する方法の包括的な概要を説明し、GETおよびPOST操作をカバーします。
get request
]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リクエストは、サーバーにデータを送信するために使用されます。フォームデータと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フォームデータ/マルチパートフォームファイルを使用してリクエストを投稿します ]
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);
}
}
put 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);
}
}
削除要求 ]
ienumerator deleteRequest(string url)
{
unitywebrequest uwr = unitywebrequest.delete(url);
獲得したreturn uwr.sendwebrequest();
if(uwr.isnetworkerror)
{
debug.log( "エラーを送信:" uwr.error);
}
それ以外
{
debug.log( "削除");
}
}
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3