public static void PostAsync(string url, Dictionary <string, string> data, PostCallBack callBack = null) { var httpClient = new HttpClient(url) { Verb = HttpVerb.POST }; foreach (var dt in data) { httpClient.PostingData.Add(dt.Key, dt.Value); } httpClient.AsyncGetString((ss, e) => { if (e == null) { callBack?.Invoke(ss, null); } else { ss = "fail"; callBack?.Invoke(ss, e); Log.Error($"请求服务器异常 PostAsync Form:{url},{e}"); } }); }
public static void PostAsync(string url, string rawData, PostCallBack callBack = null) { var httpClient = new HttpClient(url) { Verb = HttpVerb.POST, RawData = rawData }; httpClient.AsyncGetString((ss, e) => { if (e == null) { callBack?.Invoke(ss, null); } else { ss = "fail"; callBack?.Invoke(ss, e); Log.Error($"请求服务器异常 PostAsync RawData:{url},{e}"); } }); }
internal static IEnumerator PostTex(Texture2D tex, PostCallBack func) { if (Application.internetReachability != NetworkReachability.NotReachable) { if (AvatarTools.API_Key != null && AvatarTools.API_Secret != null) { WWWForm form = new WWWForm(); form.AddField("api_key", AvatarTools.API_Key); form.AddField("api_secret", AvatarTools.API_Secret); form.AddBinaryData("image_file", tex.EncodeToPNG()); form.AddField("return_landmark", 1); form.AddField("return_attributes", "gender,age,smiling,glass,headpose"); WWW www = new WWW(FaceURL, form); AvatarDebug.Log("http=>post:start!"); yield return(www); if (www.error != null) { AvatarDebug.Log("http=>post:error!\n" + www.error, LogType.Error); func(false, www.error, tex); } else { AvatarDebug.Log("http=>post:done!\n" + www.text); func(true, www.text, tex); } } else { AvatarDebug.Log("http=>post:fild! API_Key & API_Secret is null!", LogType.Error); } } else { AvatarDebug.Log("http=>post:fild! internet disable!", LogType.Error); } }
public static void ResultAsync(string account, string url, string verb, string rawData = "", PostCallBack callBack = null) { if (!EnumHelper.TryParseStr(verb, out HttpVerb httpVerb)) { Log.ErrorFormat("请求服务器异常:{0},Verb:{1}", url, verb); callBack?.Invoke("", new Exception("Verb Error:" + verb)); } if (!rawData.IsNullOrEmpty()) { try { if (httpVerb == HttpVerb.GET) { var requestBody = JObject.Parse(rawData); if (requestBody.Count == 1 && requestBody.GetValue("id") != null) { url += "/" + requestBody["id"]; requestBody.Remove("id"); rawData = requestBody.HasValues ? requestBody.ToJSON() : ""; } else { var dts = new ArrayOfString(); foreach (var variable in requestBody) { dts.Add($"{variable.Key}={variable.Value}"); } if (dts.Count > 0) { url += "?" + dts.Join("&"); } } } else { var requestBody = JObject.Parse(rawData); if (requestBody.GetValue("id") != null) { url += "/" + requestBody["id"]; requestBody.Remove("id"); rawData = requestBody.HasValues ? requestBody.ToJSON() : ""; } } } catch (Exception) { // ignored } } var httpClient = new HttpClient(url, account) { Verb = httpVerb, RawData = rawData }; httpClient.AsyncGetString((ss, e) => { if (e == null) { callBack?.Invoke(ss, null); } else { ss = "fail"; callBack?.Invoke(ss, e); Log.Error($"请求服务器异常:{url},Verb:{verb},{e}"); } }); }
public static void ResultAsync(string account, string url, string verb, Dictionary <string, string> data = null, PostCallBack callBack = null) { if (!EnumHelper.TryParseStr(verb, out HttpVerb httpVerb)) { Log.ErrorFormat("请求服务器异常:{0},Verb:{1}", url, verb); callBack?.Invoke("", new Exception("Verb Error:" + verb)); } var httpClient = new HttpClient(url, account) { Verb = httpVerb }; if (data != null) { foreach (var dt in data) { httpClient.PostingData.Add(dt.Key, dt.Value); } } httpClient.AsyncGetString((ss, e) => { if (e == null) { callBack?.Invoke(ss, null); } else { ss = "fail"; callBack?.Invoke(ss, e); Log.Error($"请求服务器异常:{url},Verb:{verb},{e}"); } }); }