using System; using System.IO; using System.Net; using System.Net.Http; using System.Text; using System.Threading.Tasks; namespace Bro.Common.Helper { public class WebApiHelper { //以毫秒为单位 readonly int TimeOut = 999999999; public WebApiHelper(int timeout = 9999999) { TimeOut = timeout; } public async Task dooPostAsync(string actionUrl, string paras) { string responseStr = string.Empty; WebRequest request = WebRequest.Create(actionUrl); request.Timeout = TimeOut; //request.Headers.Add("Authorization", "SDXK_Service"); request.Method = "Post"; request.ContentType = "application/json"; byte[] requestData = System.Text.Encoding.UTF8.GetBytes(paras); request.ContentLength = requestData.Length; Stream newStream = request.GetRequestStream(); newStream.Write(requestData, 0, requestData.Length); newStream.Close(); var response = await request.GetResponseAsync(); Stream ReceiveStream = response.GetResponseStream(); using (StreamReader stream = new StreamReader(ReceiveStream, Encoding.UTF8)) { responseStr = stream.ReadToEnd(); } return responseStr; } /// /// /// /// var content = new FormUrlEncodedContent(new Dictionary() ///{ /// { "","AEADDE34"} ///}); /// /// public string dooPost(string actionUrl, HttpContent content) { var httpClient = new HttpClient(); httpClient.Timeout = new TimeSpan(0, 0, TimeOut / 1000); //httpClient.DefaultRequestHeaders.Add("Authorization", "SDXK_Service"); return httpClient.PostAsync(actionUrl, content) .Result.Content.ReadAsStringAsync().Result; } public string dooPost(string actionUrl, string paras) { string responseStr = string.Empty; WebRequest request = WebRequest.Create(actionUrl); request.Timeout = TimeOut; //request.Headers.Add("Authorization", "SDXK_Service"); request.Method = "Post"; request.ContentType = "application/json"; byte[] requestData = System.Text.Encoding.UTF8.GetBytes(paras); request.ContentLength = requestData.Length; Stream newStream = request.GetRequestStream(); newStream.Write(requestData, 0, requestData.Length); newStream.Close(); var response = request.GetResponse(); Stream ReceiveStream = response.GetResponseStream(); using (StreamReader stream = new StreamReader(ReceiveStream, Encoding.UTF8)) { responseStr = stream.ReadToEnd(); } return responseStr; } public string dooGet(string actionUrl) { var httpClient = new HttpClient(); httpClient.Timeout = new TimeSpan(0, 0, TimeOut / 1000); return httpClient.GetAsync(actionUrl).Result.Content.ReadAsStringAsync().Result; } } }