using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Text; namespace CollectInformation.Tools { public static class HttpUitls { public static Dictionary Get(string Url) { return Get(Url, null); } public static Dictionary Get(string Url, string userToken) { Dictionary ret = new Dictionary(); ret.Add("code", "1"); try { //System.GC.Collect(); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url); request.Proxy = null; request.KeepAlive = false; request.Method = "GET"; request.ContentType = "application/json; charset=UTF-8"; if (userToken != null) { request.Headers.Add("Authorization", userToken); } request.AutomaticDecompression = DecompressionMethods.GZip; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream myResponseStream = response.GetResponseStream(); StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.UTF8); string retString = myStreamReader.ReadToEnd(); myStreamReader.Close(); myResponseStream.Close(); if (response != null) { response.Close(); } if (request != null) { request.Abort(); } ret.Add("data", retString); } catch (Exception e) { ret["code"] = "0"; ret.Add("message", e.Message); } return ret; } public static Dictionary Post(string Url, string Data, string Referer) { return Post(Url, Data, Referer, null); } public static Dictionary Post(string Url, string Data, string Referer, string userToken) { Dictionary ret = new Dictionary(); ret.Add("code", "1"); try { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url); request.Method = "POST"; request.Referer = Referer; byte[] bytes = Encoding.UTF8.GetBytes(Data); request.ContentType = "application/json; charset=UTF-8"; if (userToken != null) { request.Headers.Add("Authorization", userToken); } request.ContentLength = bytes.Length; Stream myResponseStream = request.GetRequestStream(); myResponseStream.Write(bytes, 0, bytes.Length); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); StreamReader myStreamReader = new StreamReader(response.GetResponseStream(), Encoding.UTF8); string retString = myStreamReader.ReadToEnd(); // 添加调试输出 Console.WriteLine(retString); ret.Add("data", retString); myStreamReader.Close(); myResponseStream.Close(); if (response != null) { response.Close(); } if (request != null) { request.Abort(); } } catch (Exception e) { ret["code"] = "0"; ret.Add("message", e.Message); } return ret; } /// /// 通过http上传图片及传参数 /// /// 图片地址(绝对路径:D:\demo\img\123.jpg) public static Dictionary UploadImage(string uploadUrl, string imgPath, string userToken) { Dictionary ret = new Dictionary(); ret.Add("code", "1"); try { string resstr = ""; WebClient webClient = new WebClient(); if (userToken != null) { webClient.Headers.Add("Authorization", userToken); } byte[] res = webClient.UploadFile(uploadUrl, "POST", imgPath); if (res != null) { resstr = System.Text.Encoding.UTF8.GetString(res); } ret.Add("data", resstr); } catch (Exception e) { ret["code"] = "0"; ret.Add("message", e.Message); } return ret; } } }