C#远程抓取网页

最近在做一个关于远程抓取网页并获取其中的信息的功能,感觉收获颇多遂写下此篇文章仅供交流:

PostRequest()方法中的两个参数,URL要抓取的网页的网址,postData是传的值,根据传的值获取页面的信息

最后返回一个字符串

1        /// <summary>
2 /// 远程抓取网页
3 /// </summary>
4 /// <param name="url">网页的地址</param>
5 /// <param name="postData">参数</param>
6 /// <returns></returns>
7   public static string PostRequest(string url, string postData)
8 {
9 //制定编码格式
10   var encoding = Encoding.GetEncoding("gb2312");
11 //url的设置
12 var request = (HttpWebRequest)WebRequest.Create(url);
13 //设置请求的方式
14 request.Method = "POST";
15 //设置Content-Type 的值
16 request.ContentType = "application/x-www-form-urlencoded";
17
18 var data = encoding.GetBytes(postData);
19 request.ContentLength = data.Length;
20 var outStream = request.GetRequestStream();
21 outStream.Write(data, 0, data.Length);
22 outStream.Close();
23 var response = (HttpWebResponse)request.GetResponse();
24 var srContent = new System.IO.StreamReader(response.GetResponseStream(), encoding);
25 //获取抓取下来的页面内容
26 var strPage = srContent.ReadToEnd();
27 response.Close();
28 srContent.Close();
29 return strPage;
30 }
这些仅是作为初学者的一点收获,希望各位大虾多多指教
posted @ 2011-04-15 12:37  潜龙勿用-飞龙在天  阅读(840)  评论(2编辑  收藏  举报