加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

asp定时生成静态HTML的代码需要的朋友可以参考

发布时间:2023-06-12 14:29:39 所属栏目:Asp教程 来源:
导读:asp定时生成静态HTML的代码,对于缓解服务器压力有很大帮主,需要的朋友可以参考下。

复制代码代码如下:

<%

&#39;判断是否要生成新的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
 
%>
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章