using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Text; namespace CP.Common { public class HttpHelp { public static string HttpGet(string url, int timeout = 15, WebHeaderCollection header = null) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.ContentType = "application/x-www-form-urlencoded"; request.Method = "GET"; request.Accept = "*/*"; request.Timeout = (1000 * timeout); request.ServicePoint.Expect100Continue = false; request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36"; if (header != null) { request.Headers = header; } HttpWebResponse response = request.GetResponse() as HttpWebResponse; Stream streamResponse = response.GetResponseStream(); StreamReader streamRead = new StreamReader(streamResponse); string responseStr = string.Empty; try { responseStr = streamRead.ReadToEnd(); } catch (Exception ex) { Console.WriteLine($"url:{url} |||||||| 错误:{ex.Message}"); } finally { streamRead.Close(); streamResponse.Close(); response.Close(); request = null; } return responseStr; } public static string PostHttp(string url, string methodType, Dictionary<string, string> headers, string body = null) { HttpWebRequest request = null; StreamWriter sw = null; StreamReader s = null; string ret = ""; try { request = (HttpWebRequest)WebRequest.Create(url);//请求 request.Method = methodType; if (headers != null && headers.Count > 0) for (var i = 0; i < headers.Count; i++) request.Headers.Add(headers.ElementAt(i).Key, headers.ElementAt(i).Value); request.KeepAlive = true; //request.CookieContainer = cook; request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8"; request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)"; request.ServicePoint.Expect100Continue = false; request.ServicePoint.ConnectionLimit = int.MaxValue; if (!string.IsNullOrEmpty(body)) { sw = new StreamWriter(request.GetRequestStream());//获取写入流 sw.Write(body); sw.Flush(); //强制写入 } WebResponse response = request.GetResponse(); //获取响应 s = new StreamReader(response.GetResponseStream());//获取响应流 ret = s.ReadToEnd(); //读取数据 } catch (Exception ex) { } finally { if (s != null) s.Close(); if (sw != null) sw.Close(); if (request != null) request.Abort(); s = null; sw = null; request = null; } return ret; } } }