c#下载网页源码的多种方法

HttpRequest:

static class WebFunc { private static CookieContainer cookie = new CookieContainer(); private static string contentType = "application/x-www-form-urlencoded"; private static string accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/x-silverlight, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, application/x-silverlight-2-b1, */*"; private static string userAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)"; public static string GetHtmlEx(string url) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.UserAgent = userAgent; request.ContentType = contentType; request.CookieContainer = cookie; request.Accept = accept; request.Method = "get"; WebResponse response = request.GetResponse(); Stream responseStream = response.GetResponseStream(); Encoding encoding = null; for (int i = 0; i < response.Headers.Count; i++) { Match m = Regex.Match(response.Headers[i].ToString(), "(?i)(?<=charset=)[^ ]+"); if (!m.Success) continue; encoding = Encoding.GetEncoding(m.Value); break; } StreamReader reader = new StreamReader(responseStream, encoding); String html = reader.ReadToEnd(); response.Close(); return html; } }

 

WebClient:

System.Net.WebClient wc = new System.Net.WebClient(); Byte[] pageData = wc.DownloadData("网页地址"); string s= System.Text.Encoding.Default.GetString(pageData);

你可能感兴趣的:(html,.net,String,Stream,C#,encoding)