/// <summary> /// 异步调用 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="url"></param> /// <param name="jObject"></param> /// <returns></returns> protected virtual async Task<T> PostHttpRequestWithJsonFormat<T>(string url, object jObject) where T : BaseResponse , new() { try { string inputJson = JsonConvert.SerializeObject(jObject); // WriteLog("url = " + url + "inputJson = " + inputJson); var httpClient = new HttpClient(); //代理网络多了一个文件头 取消掉 httpClient.DefaultRequestHeaders.ExpectContinue = false; httpClient.Timeout = TimeSpan.FromSeconds(120); var httpContent = new StringContent(inputJson); httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); httpClient.DefaultRequestHeaders.Add("User-Agent", "windows"); var httpResponseMessage = await httpClient.PostAsync(url, httpContent); httpResponseMessage.Version = HttpVersion.Version10; if (httpResponseMessage.Content == null) { return null; } string rcv = await httpResponseMessage.Content.ReadAsStringAsync(); var baseRet = JsonConvert.DeserializeObject<BaseResponse>(rcv); if (baseRet != null) { if (baseRet.IsSuccess()) { if (baseRet.data == null) { return new T() { code = baseRet.code, msg = baseRet.msg, }; } else return new T() { code = baseRet.code, msg = baseRet.msg, data = baseRet.data }; } else { return new T() { code = baseRet.code, msg = baseRet.msg }; } } else { return new T() { code = "-1", msg = rcv }; } } catch (Exception ex) { // WriteLog("调用接口异常 " +ex.Message); return new T() { code = "-1", msg = ex.Message }; } }