public class HttpHelper { // Post请求 public string PostResponse(string url, string postData) { try { string result = string.Empty; //设置Http的正文 HttpContent httpContent = new StringContent(postData); //设置Http的内容标头 httpContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json"); //设置Http的内容标头的字符 httpContent.Headers.ContentType.CharSet = "utf-8"; using (HttpClient httpClient = new HttpClient()) { //异步Post HttpResponseMessage response = httpClient.PostAsync(url, httpContent).Result; //确保Http响应成功 if (response.IsSuccessStatusCode) { //异步读取json result = response.Content.ReadAsStringAsync().Result; } } return result; } catch (Exception ex) { AppLog.WriteError(ex.Message); throw ex; } } /// <summary> /// 泛型:Post请求 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="url"></param> /// <param name="postData"></param> /// <returns></returns> public T PostResponse<T>(string url, string postData) where T : class, new() { T result = default(T); try { HttpContent httpContent = new StringContent(postData); httpContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json"); httpContent.Headers.ContentType.CharSet = "utf-8"; using (HttpClient httpClient = new HttpClient()) { HttpResponseMessage response = httpClient.PostAsync(url, httpContent).Result; if (response.IsSuccessStatusCode) { Task<string> t = response.Content.ReadAsStringAsync(); string s = t.Result; //Newtonsoft.Json string json = JsonConvert.DeserializeObject(s).ToString(); result = JsonConvert.DeserializeObject<T>(json); } } return result; } catch (Exception ex) { Common.AppLog.WriteError(ex.Message); throw ex; } } // 泛型:Get请求 public T GetResponse<T>(string url) where T : class, new() { try { T result = default(T); using (HttpClient httpClient = new HttpClient()) { httpClient.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage response = httpClient.GetAsync(url).Result; if (response.IsSuccessStatusCode) { Task<string> t = response.Content.ReadAsStringAsync(); string s = t.Result; string json = JsonConvert.DeserializeObject(s).ToString(); result = JsonConvert.DeserializeObject<T>(json); } } return result; } catch (Exception ex) { AppLog.WriteError(ex.Message); throw ex; } } // Get请求 public string GetResponse(string url) { try { string result = string.Empty; using (HttpClient httpClient = new HttpClient()) { httpClient.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage response = httpClient.GetAsync(url).Result; if (response.IsSuccessStatusCode) { result = response.Content.ReadAsStringAsync().Result; //string json = JsonConvert.DeserializeObject(result).ToString(); } } return result; } catch (Exception ex) { AppLog.WriteError(ex.Message); throw ex; } } // Put请求 public string PutResponse(string url, string putData) { try { string result = string.Empty; HttpContent httpContent = new StringContent(putData); httpContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json"); httpContent.Headers.ContentType.CharSet = "utf-8"; using (HttpClient httpClient = new HttpClient()) { HttpResponseMessage response = httpClient.PutAsync(url, httpContent).Result; if (response.IsSuccessStatusCode) { result = response.Content.ReadAsStringAsync().Result; } } return result; } catch (Exception ex) { AppLog.WriteError(ex.Message); throw ex; } } // 泛型:Put请求 public T PutResponse<T>(string url, string putData) where T : class, new() { try { T result = default(T); HttpContent httpContent = new StringContent(putData); httpContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json"); httpContent.Headers.ContentType.CharSet = "utf-8"; using (HttpClient httpClient = new HttpClient()) { HttpResponseMessage response = httpClient.PutAsync(url, httpContent).Result; if (response.IsSuccessStatusCode) { Task<string> t = response.Content.ReadAsStringAsync(); string s = t.Result; string json = JsonConvert.DeserializeObject(s).ToString(); result = JsonConvert.DeserializeObject<T>(json); } } return result; } catch (Exception ex) { AppLog.WriteError(ex.Message); throw ex; } } }