C#基础 读取网页内容 代码示例

it2025-11-01  12

C#基础 读取网页内容 代码示例

  C#读取网页内容主要有使用WebClient和使用HttpWebResponse两种方法,下面我分别写了两种方法以做示例。

  其中将内容输出到文件中的方法,若不了解需先阅读:

  C#基础 字符串读取/写入文本文件 代码示例

1 public class WebCrawler 2 { 3 /// <summary> 4 /// 使用WebClient,将指定网址的内容输出到指定文件内 5 /// </summary> 6 /// <param name="url">网址</param> 7 /// <param name="path">输出文件路径</param> 8 /// <param name="encoding">文件编码格式</param> 9 public void GetContextByClient(string url, string path, Encoding encoding) 10 { 11 WebClient MyWebClient = new WebClient(); 12 //获取或设置用于向Internet资源的请求进行身份验证的网络凭据 13 MyWebClient.Credentials = CredentialCache.DefaultCredentials; 14 //从指定网站下载数据 15 byte[] pageData = MyWebClient.DownloadData(url); 16 //使用指定字符集,转换为字符串 17 string pageHtml = encoding.GetString(pageData); 18 //在控制台输出获取的内容 19 Console.WriteLine(pageHtml); 20 //写入文件 21 System.IO.File.WriteAllBytes(path, pageData); 22 } 23 /// <summary> 24 /// 使用HttpWebResponse,将指定网址的内容输出到指定文件内 25 /// </summary> 26 /// <param name="url">网址</param> 27 /// <param name="path">输出文件路径</param> 28 /// <param name="encoding">文件编码格式</param> 29 public void GetContextByHttp(string url, string path, Encoding encoding) 30 { 31 Uri httpURL = new Uri(url); 32 //HttpWebRequest类继承于WebRequest,并没有自己的构造函数 33 //需通过WebRequest的Creat方法建立,并进行强制的类型转换 34 HttpWebRequest httpReq = (HttpWebRequest)WebRequest.Create(httpURL); 35 ///通过HttpWebRequest的GetResponse()方法建立HttpWebResponse,强制类型转换 36 HttpWebResponse httpResp = (HttpWebResponse)httpReq.GetResponse(); 37 //GetResponseStream()方法获取HTTP响应的数据流,并尝试取得URL中所指定的网页内容 38 //若成功取得网页的内容,则以System.IO.Stream形式返回, 39 //若失败则产生ProtoclViolationException错误。 40 // 在此正确的做法应将以下的代码放到一个try块中处理。这里简单处理 41 Stream respStream = httpResp.GetResponseStream(); 42 ///返回的内容是Stream形式的,所以可以利用StreamReader类获取GetResponseStream的内容,并以 43 ///StreamReader类的Read方法依次读取网页源程序代码每一行的内容,直至行尾 44 StreamReader respStreamReader = new StreamReader(respStream, encoding); 45 string context = respStreamReader.ReadToEnd(); 46 respStream.Close(); 47 StreamWriter sw = new StreamWriter(path, false, encoding); 48 sw.Write(context); 49 } 50 }

 

 

posted on 2017-11-22 22:53 小顶山人 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/vsSure/p/7881777.html

相关资源:C#获取网页内容
最新回复(0)