虚拟主机如何实现asp自动比较内容后再生成生产静态页面
找了个代码可以将我的首页index.asp转成index.html,首页打开的速度提高了3倍,但是需要手动操作,我的首页index.asp内容几乎每天都会自己更新,比如顾客在网站留言了或者我自己在后台发布了新闻,但有个问题就是我时候会忘记将asp手动转成html文件,有时是没有时间,因此,我想请各位大侠帮我实现自动化,不知道行不行:
就是
每隔一定时间自动比较index.asp和index.html的内容,如果相同则不管,如果不同则转成新的index.html文件覆盖老的文件。[color=#FF0000][/color]
我是个比菜鸟还菜的傻菜,对程序基本是一窍不通,因此摆脱各位大侠给的解决方案最好详细一点,比如将什么代码放在什么位置都讲明一下,不然我又得傻眼了。
——————————
我用的是万网M3主机,支持以下组件: 文件系统管理组件FSO:Scripting.FileSystemObject
ADO数据对象组件:Adodb.Connection2.8
ADO数据对象组件
WinHttp POST组件 5.1
Gzip
XML 6.0 ASPAJAXExtSetup
Http 组件Microsoft.XMLHTTP
动易组件 POWEREASY 2006sp6
MD5支付组件
Urlrewrite(伪静态)
图片组件 ASPJPEG2.0
Persits.Jpeg
SA-FileUp SoftArtisans.
FileUp
文件上传组件 ASPUPLOAD
Persits. Upload 3.0
————————————
我的那个执行转换代码的文件名称是:jt.asp,我将这个文件的代码贴到下面:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
Function GetPage(url)
'获得文件内容
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.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.Charset = "GB2312"
BytesToBstr = objstream.ReadText
objstream.Close
set objstream = nothing
End Function
on error resume next
Url="index.asp"'要读取的页面地址
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.html")
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>"
%>
------解决方案--------------------以上说的生成html 前提是必须有网页打开 才能执行
要是站长的电脑关闭了,就没法生成了
解决方法:
可以找一个软件放在服务器上,运行某个生成html的程序就可以了
------解决方案--------------------你可以搜索 ServerXMLHTTPRequest
这样你就能得到任何asp页面最终生成的内容了,做个比较就行了。