簡單http請求工具類
阿新 • • 發佈:2020-12-31
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Text; using System.Threading.Tasks; namespace Company.Common.Utils { public static class HttpUtils { public static string Get(string url) { return HttpUtils.Get(url, null); } public static string Get(string url, IDictionary<string, string> headerList) { HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(url); httpWebRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 4.0.30319)"; httpWebRequest.ContentType = "application/json"; if (headerList != null) { foreach (KeyValuePair<string, string> current in headerList) { httpWebRequest.Headers.Add(current.Key, current.Value); } } Stream responseStream = httpWebRequest.GetResponse().GetResponseStream(); string result; using (StreamReader streamReader = new StreamReader(responseStream)) { string arg_83_0 = streamReader.ReadToEnd(); responseStream.Close(); result = arg_83_0; } return result; } public static string Post(string url, string postData, string contentType = "application/json") { WebClient expr_05 = new WebClient(); expr_05.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 4.0.30319)"); expr_05.Headers.Add("Content-Type", contentType); byte[] bytes = Encoding.UTF8.GetBytes(postData); byte[] bytes2 = expr_05.UploadData(url, "POST", bytes); return Encoding.UTF8.GetString(bytes2); } public static string PostByForm(string url, string postData, string contentType = "multipart/form-data") { WebClient expr_05 = new WebClient(); expr_05.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 4.0.30319)"); expr_05.Headers.Add("Content-Type", contentType); byte[] bytes = Encoding.UTF8.GetBytes(postData); byte[] bytes2 = expr_05.UploadData(url, "POST", bytes); return Encoding.UTF8.GetString(bytes2); } public static string Post(string url, string postData, IDictionary<string, string> headParams) { WebClient webClient = new WebClient(); webClient.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 4.0.30319)"); webClient.Headers.Add("Content-Type", "application/json"); if (headParams != null && headParams.Count > 0) { foreach (KeyValuePair<string, string> current in headParams) { if (webClient.Headers.AllKeys.Contains(current.Key)) { webClient.Headers.Remove(current.Key); } webClient.Headers.Add(current.Key, current.Value); } } byte[] bytes = Encoding.UTF8.GetBytes(postData); byte[] bytes2 = webClient.UploadData(url, "POST", bytes); return Encoding.UTF8.GetString(bytes2); } } }