أرسل طلب http في الوحدة باستخدام C#
]توفر الوحدة إمكانات شبكات قابلة للتخصيص تسمح للمطورين بتبادل البيانات بكفاءة عبر الإنترنت. سيقدم هذا الدليل نظرة عامة شاملة على كيفية إرسال طلبات HTTP في الوحدة باستخدام C# و UnityWebRequest (واجهة برمجة تطبيقات الشبكة الحالية الخاصة بـ Unity) ، والتي تغطي عمليات الحصول على وبعدها.
احصل على طلب
]الحصول على طلب يستخدم لاسترداد البيانات من الخادم. لإرسال طلب الحصول على استخدام UnityWebRequest ، استخدم الكود التالي:
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);
}
}
طلب النشر
]يتم استخدام طلب النشر لإرسال البيانات إلى الخادم. يمكنك إرسال بيانات النموذج وبيانات JSON.
Post request باستخدام بيانات النموذج
]]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/ملفات 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