动态网站页面的静态生成方法

方法一

<%

'常用函数
'1、输入url目标网页地址,返回值getHTTPPage是目标网页的html代码


function getHTTPPage(url)
dim Http
set Http=server.createobject("MSXML2.XMLHTTP")
Http.open "GET",url,false
Http.send()
if Http.readystate<>4 then 
exit function
end if
getHTTPPage=bytesToBSTR(Http.responseBody,"UTF-8")
set http=nothing
if err.number<>0 then err.Clear 
end function

'2、转换乱玛,直接用xmlhttp调用有中文字符的网页得到的将是乱玛,可以通过adodb.stream组件进行转换


Function BytesToBstr(body,Cset)
dim objstream
set objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText 
objstream.Close
set objstream = nothing
End Function

 

txtURL=server.MapPath("../index.asp")

sText = getHTTPPage(txtURL) 

Set FileObject=Server.CreateObject("Scripting.FileSystemObject") 
filename="../index.htm"
Set openFile=FileObject.OpenTextfile(server.mapPath(filename),2,true) 'true为不存在自行建立
openFile.writeline(sText)
Set OpenFile=nothing

'此处也可以不用FSO,而用ADO.STREAM,如下这个函数
Function SaveToFile(strBody,ByVal File,CharSet)
if CharSet = "" then CharSet = "GB2312"
    Dim objStream
    Set objStream = Server.CreateObject("ADODB.Stream")
    With objStream
        .Type = 2
        .Open
        .Charset = CharSet
        .Position = objStream.Size
  .WriteText = strBody
        .SaveToFile Server.MapPath(File),2
        .Close
    End With
    Set objStream = Nothing
End Function


%>
<script>
alert("静态网页生成完毕");
history.back();
</script>

方法二:


 resourcefile=server.MapPath("../index.asp")
  targetfile=server.MapPath("../index.htm")
  Set html = Server.CreateObject("CDO.Message")
  html.CreateMHTMLBody resourcefile,31 
  indexcode=html.HTMLBody
  Set html = Nothing
if instr(indexcode,"</BODY></HTML>")<=0 then
  response.Write("首页生成失败")
  response.End()
 else
   Set oFileSys = Server.CreateObject("Scripting.FileSystemObject")
   Set outfile=oFileSys.CreateTextFile(targetfile)
   outfile.WriteLine indexcode
   outfile.close   
   Set outfile=nothing
   set oFileSys=nothing
     response.Write("首页生成完毕!")
end if

你可能感兴趣的:(动态网站页面的静态生成方法)