直接读取网页写成静态页的几个方法

本文介绍三种将动态网页转换为静态HTML的方法:直接指定并生成静态页、在渲染时自动生成静态副本及通过URL抓取源代码生成静态页。文中提供了具体的C#实现代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

研究一下不用模板将页面写成静态页的方法,归纳以下3种。注意要引用2个命名空间:
using System.Net;
using System.IO;
1.在服务器上指定aspx网页,生成html静态页1。
System.IO.StreamWriter sw = new System.IO.StreamWriter(Server.MapPath("静态页1.html"),false,System.Text.Encoding.GetEncoding("GB2312"));
System.Web.HttpContext.Current.Server.Execute("t.aspx", sw);sw.Close();
2.在服务器上执行aspx网页时在Page_Render事件里将本页面生成html静态页2。
protected override void Render(HtmlTextWriter writer){
System.IO.StringWriter html = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter tw = new System.Web.UI.HtmlTextWriter(html);
base.Render(tw);
System.IO.StreamWriter sw;
sw = new System.IO.StreamWriter(Server.MapPath("静态页2.htm"), false, System.Text.Encoding.Default);
sw.Write(html.ToString());
sw.Close();
tw.Close();
Response.Write(html.ToString());
}
3.从指定连接获取源代码生成html静态页1。其实这应该算网页源代码获取方式了。
//获得指定链接的源代码
string PageUrl = " http://www.sohu.com";
WebRequest request = WebRequest.Create(PageUrl);
WebResponse response = request.GetResponse();
Stream resStream = response.GetResponseStream();
StreamReader sr = new StreamReader(resStream, System.Text.Encoding.Default);
string ContentHtml = sr.ReadToEnd();
resStream.Close();
sr.Close();
//写入文件
System.IO.StreamWriter sw;
sw = new System.IO.StreamWriter(Server.MapPath("静态页生成方法3.htm"), false, System.Text.Encoding.Default);
sw.Write(ContentHtml);
sw.Close();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值