|
今天主要是来说一下ASP.NET实现根据URL获取网站完整的页面内容,这种实现也可以用于实现获取网站的缩略图,获取网站的源码,获取网站的编码和Title等标签纸,本文只写出获得网站完整的内容,具体的大家可以自己扩展一下,我们可以进行深入交流,呵呵呵。
这个实现主要是用了ASP.NET的文件流形式实现,本文以获取http://www.zzdaohang.cn/ 的网站内容为例,进行说明。
写个测试页面,如下图:
- //获取相关编码,这里建议使用GB2312
- Encoding code = Encoding.GetEncoding("gb2312");
- StreamReader sr = null;
- StreamWriter sw = null;
- string str = null;
- //根据URL读取远程路径
- WebRequest temp = WebRequest.Create(txtUrl.Text.Trim());
- WebResponse myTemp = temp.GetResponse();
- sr = new StreamReader(myTemp.GetResponseStream(), code);
- try
- {
- sr = new StreamReader(myTemp.GetResponseStream(), code);
- str = sr.ReadToEnd();
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- sr.Close();
- }
- //这里是按时间随机生成文件名称,当然也可以自己定义
- string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".htm";
- //写入,这里注意要写入的文件可以不存在,但是文件夹一定要存在
- try
- {
- sw = new StreamWriter(Server.MapPath("url/") + fileName, false, code);
- sw.Write(str);
- sw.Flush();
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- sw.Close();
- Response.Write("测试结果!文件已经生成,并保存在url文件夹下!访问这个链接试试:<a href=url/" + fileName + " target=_blank>" + fileName + "</a>。");
- }
复制代码实现的结果进行访问测试,我截了图说明一下,大家可以看看,真的很完美,你也可以测试一下百度网址试一下,呵呵呵。站长站的首页被完整的抓去了过来,效果可以吧。
//*********代码创 建 人:youhaoxinqin ********// //*********联 系 方式:QQ:417643479 邮箱:youhaoxinqin@sina.com ********//
|
|