頁面|轉換
前段時間有個asp頁面執行起來很慢,訪問人數又頗多,而且又不經常修改,又懶得直接做成靜態,每次都要從伺服器下載來改,只好想辦法把asp頁面轉化成htm靜態頁面了。。。
以前就曾經看到這樣的文章,不過沒太在意,真正想用的時候很難找到一個合適的,於是在網上搜尋了半天終於找到比較合適的代碼再加上自己的修改,如下:
<%
FunctionGetPage(url)
'獲得檔案內容
dimRetrieval
SetRetrieval=CreateObject("Microsoft.XMLHTTP")
WithRetrieval
.Open"Get",url,False',"",""
.Send
GetPage=BytesToBstr(.ResponseBody)
EndWith
SetRetrieval=Nothing
EndFunction
FunctionBytesToBstr(body)
dimobjstream
setobjstream=Server.CreateObject("adodb.stream")
objstream.Type=1
objstream.Mode=3
objstream.Open
objstream.Writebody
objstream.Position=0
objstream.Type=2
objstream.Charset="GB2312"
BytesToBstr=objstream.ReadText
objstream.Close
setobjstream=nothing
EndFunction
onerrorresumenext
Url="要讀取的頁面地址
response.write"開始更新首頁..."
wstr=GetPage(Url)
'response.write(wstr)
Setfs=Server.CreateObject("Scripting.FileSystemObject")
'ifnotMyFile.FolderExists(server.MapPath("/html/"))then
'MyFile.CreateFolder(server.MapPath("/html/"))'
'endif
'要存放的頁面地址
dizhi=server.MapPath("index.htm")
If(fs.FileExists(dizhi))Then
fs.DeleteFile(dizhi)
EndIf
SetCrFi=fs.CreateTextFile(dizhi)
Crfi.Writeline(wstr)
setCrFi=nothing
setfs=nothing
response.write"...<fontcolor=red>更新完成!</font>"
%>
代碼算是最簡單的,直接儲存成一個asp檔案即可,只要把URL(要轉化的asp地址)和dizhi(要儲存的html地址)設定好就可以了,一般這兩個檔案在同一個目錄,才能保證圖片或者CSS、js起作用。
希望對那些正在尋找asp->htm的朋友有用。