C#生成静态两方法

-、模板

模板文件

template.html

 

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html  xmlns ="http://www.w3.org/1999/xhtml"   >
< head >
    
< title >  $title$ 生成静态页的Demo </ title >
    
< style  type ="text/css" >
<!--
.STYLE1 
{
    font-size
:  16px ;
    font-weight
:  bold ;
}
-->
    
</ style >
</ head >
< body >
< br  />
< br  />
< table  width ="100%"  border ="0"  bgcolor ="#339900" >
  
< tr >
    
< td  height ="34"  align ="center"  bgcolor ="#FFFFFF" >< span  class ="STYLE1" > $title$  </ span ></ td >
  
</ tr >
  
< tr >
    
< td  height ="42"  bgcolor ="#FFFFFF" >< br  />
      
< br  />
    内容:$content$ 
</ td >
  
</ tr >
</ table >

</ body >
</ html >

 

后台代码

 

using  System;
using  System.IO;
using  System.Text;


public   partial   class  _Default : System.Web.UI.Page 
{
        
protected   void  Page_Load( object  sender, EventArgs e)
        {
            
// 源码是替换掉模板中的特征字符

            
string  mbPath  =  Server.MapPath( " template.html " );
            Encoding code 
=  Encoding.GetEncoding( " gb2312 " );
            StreamReader sr 
=   null ;
            StreamWriter sw 
=   null ;
            
string  str  =   null ;

            
// 读取
             try
            {
                sr 
=   new  StreamReader(mbPath, code);
                str 
=  sr.ReadToEnd();

            }
            
catch  (Exception ex)
            {
                
throw  ex;
            }
            
finally
            {
                sr.Close();
            }

            
// 根据时间自动重命名,扩展名也可以自行修改
             string  fileName  =  DateTime.Now.ToString( " yyyyMMddHHmmss " +   " .aspx " ;
            str 
=  str.Replace( " $title$ " " 123asdfasf " ); // 替换Title
            str  =  str.Replace( " $content$ " " asdf2354234 " ); // 替换content

            
// 生成静态文件
             try
            {
                sw 
=   new  StreamWriter(Server.MapPath( " htm/ " +  fileName,  false , code);
                sw.Write(str);
                sw.Flush();

            }
            
catch  (Exception ex)
            {
                
throw  ex;
            }
            
finally
            {
                sw.Close();
                Response.Write(
" 恭喜<a href=htm/ "   +  fileName  +   "  target=_blank> "   +  fileName  +   " </a>已经生成,保存在htm文件夹下! " );
            }

        }
}

 

二、抓取网页代码生成静态

using  System;
using  System.IO;
using  System.Net;
using  System.Text;

public   partial   class  _Default : System.Web.UI.Page 
{
    
protected   void  Page_Load( object  sender, EventArgs e)
    {
        
string  jjj  =   " 0025f9b44a5ca87f " ;

        
string  contenthtml  =  GetWebContent( " http://www.by84.com/R " + jjj);
        
// Response.Write(contenthtml);

        System.IO.StreamWriter sw;
        sw 
=   new  System.IO.StreamWriter(Server.MapPath( " R " + jjj + " .aspx " ),  false , System.Text.Encoding.Default);
        sw.Write(contenthtml);
        sw.Close();
        Response.Write(
" 成功 " );

    }
    
public   static   string  GetWebContent( string  Url)
    {
        
string  strResult  =   "" ;
        
try
        {
            HttpWebRequest request 
=  (HttpWebRequest)WebRequest.Create(Url);
            
// 声明一个HttpWebRequest请求
            request.Timeout  =   30000 ;
            
// 设置连接超时时间
            request.Headers.Set( " Pragma " " no-cache " );
            HttpWebResponse response 
=  (HttpWebResponse)request.GetResponse();
            Stream streamReceive 
=  response.GetResponseStream();
            Encoding encoding 
=  Encoding.GetEncoding( " GB2312 " );
            StreamReader streamReader 
=   new  StreamReader(streamReceive, encoding);
            strResult 
=  streamReader.ReadToEnd();
        }
        
catch  { }
        
return  strResult;
    }
}

 

 

你可能感兴趣的:(C#)