| 
 | 
 
 
前段時間有個asp頁面執行起來很慢﹐訪問人數又頗多﹐而且又不經常修改﹐又懶得直接做成靜態的﹐每次都要從服務器下載來改﹐只好想辦法把asp頁面轉化成htm靜態頁面了。。。  
 
以前就曾經看到這樣的文章﹐不過沒太在意﹐真正想用的時候很難找到一個合適的﹐於是在網上搜索了半天終於找到比較合適的代碼再加上自己的修改﹐如下﹕ 
 - <%
 
 - Function GetPage(url) 
 
 - 獲得文件內容
 
 - D dim Retrieval
 
 - Set Retrieval = CreateObject("Microsoft.XMLHTTP") 
 
 - With Retrieval
 
 -   .Open "Get", url, False , "", "" 
 
 - .Send 
 
 - GetPage = BytesToBstr(.ResponseBody)
 
 - End With 
 
 - Set Retrieval = Nothing 
 
 - End Function
 
  
- Function BytesToBstr(body)
 
 - dim objstream
 
 - set objstream = Server.CreateObject("adodb.stream")
 
 - objstream.Type = 1
 
 - objstream.Mode =3
 
 - objstream.Mode =3
 
 - objstream.Open
 
 - objstream.Write body
 
 - objstream.Position = 0
 
 - objstream.Type = 2
 
 - objstream.Charset = "GB2312"
 
  
- objstream.Close
 
 - set objstream = nothing
 
 - End Function
 
  
- on error resume next
 
 - Url="http://www.sina.com.cn"要讀取的頁面地址
 
 - response.write "開始更新首頁..."
 
 - wstr = GetPage(Url)
 
  
- response.write(wstr)
 
 - Set fs=Server.CreateObject("Scripting.FileSystemObject")
 
  
 
- if not MyFile.FolderExists(server.MapPath("/html/")) then 
 
 - MyFile.CreateFolder(server.MapPath("/html/"))
 
 - end if
 
  
- 要存放的頁面地址
 
 - dizhi=server.MapPath("index.htm")
 
 - If (fs.FileExists(dizhi)) Then
 
 - fs.DeleteFile(dizhi)
 
 - End If
 
  
- Set CrFi=fs.CreateTextFile(dizhi)
 
 - Crfi.Writeline(wstr)
 
 - set CrFi=nothing
 
 - set fs=nothing
 
 - response.write "...<font color=red>更新完成﹗</font>"
 
 - %>
 
  複製代碼 
代碼算是最簡單的﹐直接保存成一個asp文件即可﹐只要把URL(要轉化的asp地址)和dizhi(要保存的html地址)設置好就可以了﹐一般這兩個文件在同一個目錄﹐才能保證圖片或者css、js起作用。 
 
希望對那些正在尋找asp->htm的朋友有用。 |   
 
 
 
 |