using Cysharp.Threading.Tasks; using System; using System.Collections.Generic; using System.Text; using System.Threading; using System.Threading.Tasks; using UnityEngine; using UnityEngine.Networking; public class HttpTool { /// /// get /// /// /// /// public static async Task GetJsonAsync(string uri) { Debug.Log("akjsbd"); using (var uwr = UnityWebRequest.Get(uri)) { await uwr.SendWebRequest(); if (uwr.isNetworkError) { Debug.LogError(uwr.error); return default(T); } else { Debug.Log(JsonUtility.FromJson(uwr.downloadHandler.text)); return JsonUtility.FromJson(uwr.downloadHandler.text); } } //if (uwr.result == UnityWebRequest.Result.Success) // return JsonUtility.FromJson(uwr.downloadHandler.text); //else //{ // Debug.LogError(uwr.error); // return default(T); //} } /// /// Post±ķµ„ /// /// /// /// /// public static async Task PostFromAsync(string uri, Dictionary keyValuePairs) { WWWForm formData = new WWWForm(); foreach (var item in keyValuePairs) { formData.AddField(item.Key, item.Value); } using (var uwr = UnityWebRequest.Post(uri, formData)) { await uwr.SendWebRequest(); if (uwr.isNetworkError) { Debug.LogError(uwr.error); return default(T); } else return JsonUtility.FromJson(uwr.downloadHandler.text); } } /// /// PostJson /// /// /// /// /// public static async Task PostJsonAysnc(string uri, object jsonObject) { var jsonString = JsonUtility.ToJson(jsonObject); // Debug.Log(jsonString); var postData = System.Text.Encoding.Default.GetBytes(jsonString); using (var uwr = new UnityWebRequest(uri, "POST")) { uwr.SetRequestHeader("Content-type", "application/json"); uwr.uploadHandler = new UploadHandlerRaw(postData); uwr.downloadHandler = new DownloadHandlerBuffer(); await uwr.SendWebRequest(); if (uwr.isNetworkError) { Debug.LogError(uwr.error); return default(T); } else { return JsonUtility.FromJson(uwr.downloadHandler.text); } } } }