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