internal static string Post(string url, ref CookieCollection cookie, string data = null, Encoding encoding = null, Dictionary <string, string> headers = null, string contentType = HttpContentTypes.ApplicationXWwwFormUrlEncoded, bool autoRedirect = true, bool keepAlive = true, string userAgent = UserAgents.Mozilla4) { string html = ""; Stream stream = null, dataStream = null; StreamReader reader = null; try { //配置属性 HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest; request.Method = "POST"; request.ContentType = contentType; request.AllowAutoRedirect = autoRedirect; request.KeepAlive = keepAlive; request.UserAgent = userAgent; request.CookieContainer = new CookieContainer(); HeaderTool.Set(ref request, headers); if (cookie != null) { request.CookieContainer.Add(cookie); } //配置参数 if (data != null) { byte[] dataByte = Encoding.UTF8.GetBytes(data); request.ContentLength = dataByte.Length; dataStream = request.GetRequestStream(); dataStream.Write(dataByte, 0, dataByte.Length); } //请求数据 HttpWebResponse response = (HttpWebResponse)request.GetResponse(); response.Cookies = request.CookieContainer.GetCookies(request.RequestUri); cookie = response.Cookies; stream = response.GetResponseStream(); reader = new StreamReader(stream, encoding ?? Encoding.Default); html = reader.ReadToEnd(); } catch { } finally { if (reader != null) { reader.Close(); } if (stream != null) { stream.Close(); } if (dataStream != null) { dataStream.Close(); } } return(html); }
internal static string Get(string url, ref CookieCollection cookie, Dictionary <string, string> headers = null, string contentType = HttpContentTypes.ApplicationXWwwFormUrlEncoded, bool autoRedirect = false, bool keepAlive = true, string userAgent = UserAgents.Mozilla4) { string html = ""; Stream stream = null; StreamReader reader = null; try { HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest; request.Method = "GET"; request.ContentType = contentType; request.AllowAutoRedirect = autoRedirect; request.KeepAlive = keepAlive; request.UserAgent = userAgent; request.CookieContainer = new CookieContainer(); HeaderTool.Set(ref request, headers); if (cookie != null) { request.CookieContainer.Add(cookie); } HttpWebResponse response = (HttpWebResponse)request.GetResponse(); response.Cookies = request.CookieContainer.GetCookies(request.RequestUri); cookie = response.Cookies; stream = response.GetResponseStream(); reader = new StreamReader(stream, Encoding.Default); html = reader.ReadToEnd(); } catch { } finally { if (reader != null) { reader.Close(); } if (stream != null) { stream.Close(); } } return(html); }