public static string Get(string url, Dictionary <string, string> data = null) { try { var dts = new ArrayOfString(); if (data != null) { dts.AddRange(data.Select(dt => $"{dt.Key}={dt.Value}")); } if (dts.Count > 0) { url += "?" + dts.Join("&"); } var httpClient = new HttpClient(url) { Verb = HttpVerb.GET }; var result = httpClient.GetString(); return(result); } catch (Exception e) { Log.Error($"请求服务器异常 Get:{url},{e}"); return("fail"); } }
public static void GetAsync(string url, Dictionary <string, string> data = null, GetCallBack callBack = null) { var dts = new ArrayOfString(); if (data != null) { dts.AddRange(data.Select(dt => $"{dt.Key}={dt.Value}")); } if (dts.Count > 0) { url += "?" + dts.Join("&"); } var httpClient = new HttpClient(url) { Verb = HttpVerb.GET }; httpClient.AsyncGetString((ss, e) => { if (e == null) { callBack?.Invoke(ss, null); } else { ss = "fail"; callBack?.Invoke(ss, e); Log.Error($"请求服务器异常 GetAsync:{url},{e}"); } }); }
public static string Result(string account, string url, string verb, string rawData = "") { try { if (!EnumHelper.TryParseStr(verb, out HttpVerb httpVerb)) { Log.Error($"请求服务器异常:{url},Verb:{verb}"); return("fail"); } 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 }; httpClient.RawData = rawData; var result = httpClient.GetString(); return(result); } catch (Exception e) { Log.Error($"请求服务器异常:{url},Verb:{verb},{e}"); return("fail"); } }
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}"); } }); }