方法一
<%
'常用函數
'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,"GB2312")
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
%>
<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