asp定时生成静态HTML的代码需要的朋友可以参考
发布时间:2023-06-12 14:29:39 所属栏目:Asp教程 来源:
导读:asp定时生成静态HTML的代码,对于缓解服务器压力有很大帮主,需要的朋友可以参考下。
复制代码代码如下:
<%
'判断是否要生成新的HTML
if Application("cache_asptohtml_date")="" then
Appli
复制代码代码如下:
<%
'判断是否要生成新的HTML
if Application("cache_asptohtml_date")="" then
Appli
asp定时生成静态HTML的代码,对于缓解服务器压力有很大帮主,需要的朋友可以参考下。 复制代码代码如下: <% '判断是否要生成新的HTML if Application("cache_asptohtml_date")="" then Application.Lock Application("cache_asptohtml_date")=now() Application.Unlock Call aspTohtml Response.Redirect("index.html") end if if DateDiff("s", Application("cache_asptohtml_date"),Now)> 100 then '比较上次更新时间与当前时间相差多少秒 Application.Lock Application("cache_asptohtml_date")=now() Application.UnLock Call aspTohtml Response.Redirect("index.html") Else Response.Redirect("index.html") End if '获取当前目录! function getpath if Request.ServerVariables("SERVER_PORT")<>"80" then UserUrl = "http://"&Request.ServerVariables("SERVER_NAME")& ":" & Request.ServerVariables("SERVER_PORT")& Request.ServerVariables("URL") else UserUrl = "http://"&Request.ServerVariables("SERVER_NAME")& Request.ServerVariables("URL") end if getpath=left(UserUrl,InstrRev(UserUrl,"/")) end function sub aspTohtml '---------------------------------------------------------- '使用XMLHTTP生成静态首页的代码 'Curl 为你的首页地址,确保你的空间支持FSO '----------------------------------------------------------- dim read,Curl,content Curl=getpath&"home.asp" read=getHTTPPage(Curl) if read<>"" then content=read Set Fso = Server.CreateObject("Scripting.FileSystemObject") Filen=Server.MapPath("index.html") Set Site_Config=FSO.CreateTextFile(Filen,true, False) Site_Config.Write content Site_Config.Close Set Fso = Nothing end if End sub Function getHTTPPage(url) dim http set http=Server.createobject("Microsoft.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 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 %> ASP定时生成静态页(HTML)2 复制代码代码如下: <% set fs=server.createobject("scripting.filesystemobject") file=server.mappath("time.txt") set txt=fs.opentextfile(file,1,true) if not txt.atendofstream then times=txt.ReadLine Else response.write "<br /><!--有没有发现time.txt 开始生成!-->" HtmlPage = "time.txt" '//生成的HTML文件名 Template = NOW() Set FSO = Server.CreateObject ("Scripting.FileSystemObject") Set FileOut = FSO.CreateTextFile(Server.MapPath (HtmlPage)) FileOut.WriteLine Template FileOut.Close Set FSO = Nothing end If If datediff("s",times,NOW()) > 3600 Then '//上次更新到现在的时间 大于 3600秒 则 更新 response.write "<br /><!--时间过了开始更新-->" code = "这里是需要生成的html代码" '//如何得到代码的方式有很多 '//用FSO生成HTML页面 HtmlPage = "index.html" '//生成的HTML文件名 Template = code Set FSO = Server.CreateObject ("Scripting.FileSystemObject") Set FileOut = FSO.CreateTextFile(Server.MapPath (HtmlPage)) FileOut.WriteLine Template FileOut.Close Set FSO = Nothing '//用FSO生成time.txt文件 HtmlPage = "time.txt" '//生成的HTML文件名 Template = NOW() Set FSO = Server.CreateObject ("Scripting.FileSystemObject") Set FileOut = FSO.CreateTextFile(Server.MapPath (HtmlPage)) FileOut.WriteLine Template FileOut.Close Set FSO = Nothing Else response.write "<br /><!-- 已经过去"&datediff("s",times,NOW())&"秒!-->" End If %> (编辑:聊城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐