直接干货:
using System; using System.Collections.Generic; using System.Linq; using System.Net.Http; using System.Threading.Tasks; namespace FEG.ESB.Common.Helper { /// <summary> /// /// </summary> public class HttpClientHelper { private static readonly HttpClient httpClient = new HttpClient(); /// <summary> /// Post 请求 /// </summary> /// <param name="url"></param> /// <param name="dic"></param> /// <returns></returns> public static string PostString(string url, Dictionary<string, string> dic) { string responseString = string.Empty; try { var content = new FormUrlEncodedContent(dic); var response = httpClient.PostAsync(url, content).Result; responseString = response.Content.ReadAsStringAsync().Result; } catch (Exception) { } return responseString; } // <summary> /// post提交并反馈结果 /// </summary> /// <param name="url"></param> /// <param name="xmlString"></param> /// <returns></returns> public static string PostXmlResponse(string url, string xmlString) { HttpContent httpContent = new StringContent(xmlString); httpContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/josn"); HttpResponseMessage res = httpClient.PostAsync(url, httpContent).Result; if (res.IsSuccessStatusCode) { Task<string> t = res.Content.ReadAsStringAsync(); return t.Result; } return string.Empty; } /// <summary> /// Get请求数据 /// </summary> /// <param name="url"></param> /// <returns></returns> public static string GetResponse(string url) { HttpResponseMessage res = httpClient.GetAsync(url).Result; if (res.IsSuccessStatusCode) { Task<string> t = res.Content.ReadAsStringAsync(); return t.Result; } return string.Empty; } } }
Post 或者如下调用:
//--HttpClientHelper.PostString(url,values);
try { System.Net.Http.HttpClient httpClient = new System.Net.Http.HttpClient(); var values = new Dictionary<string, string> { { "cou_id", "A9E52C76-0CE7-4261-54C3-7EB04062F758" } }; var content = new System.Net.Http.FormUrlEncodedContent(values); var response = httpClient.PostAsync("http://localhost:8888/Api/Course/GetCourseStudent", content).Result; var responseString = response.Content.ReadAsStringAsync().Result; } catch (Exception ex) { throw new Exception(ex.Message); }