网页内容读取三种方法的区别[未完]
来源:互联网 发布:javascript实例精通 编辑:程序博客网 时间:2024/05/17 08:13
//WebClient public static string GetPageContentByWebClient(string url) { string content = string.Empty; try { WebClient client = new WebClient(); client.Credentials = CredentialCache.DefaultCredentials; byte[] buffer = client.DownloadData(url); content = Encoding.Default.GetString(buffer); } catch (WebException ex) { } return content; } //WebBrowser public static string GetPageContentByWebBrowser(string url) { StringBuilder content = new StringBuilder(); try { WebBrowser browser = new WebBrowser(); browser.Navigate(url); browser.DocumentCompleted += delegate { HtmlElementCollection elts = browser.Document.GetElementsByTagName("html"); foreach (HtmlElement elt in elts) { content.Append(elt.OuterHtml); break; } }; } catch (WebException ex) { } return content.ToString(); } //WebRequest/WebResponse public static string GetPageContentByWebRequestResponse(string url) { string content = string.Empty; try { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) { using (Stream stream = response.GetResponseStream()) { using (StreamReader reader = new StreamReader(stream,Encoding.Default)) { content = reader.ReadToEnd(); response.Close(); } } } } catch (WebException ex) { } return content.ToString(); }