asp批量生成html静态页面方法

博主:jhchinajhchina 2021-02-27 294 0条评论
摘要: 方法一(其中的i=1 to 5 可以根据你需要生成ID的值修改):      下面的例子是将、index.asp?id=1/index.asp?id=2/ind...

方法一(其中的i=1 to 5 可以根据你需要生成ID的值修改):

      下面的例子是将、index.asp?id=1/index.asp?id=2/index.asp?id=3/这三个动态页面,分别生成index1.htm,index2.htm,index3.htm存在根目录下面

<% 

    dim strUrl,Item_Classid,id,FileName,FilePath,Do_Url,Html_Temp 

    Html_Temp="<UL>" 

    For i=1 To 5 

    Html_Temp = Html_Temp&"<LI>" 

    Item_Classid = i 

    FileName = "Index"&Item_Classid&".htm" 

    FilePath = Server.MapPath("/")&"\"&FileName 

    Html_Temp = Html_Temp&FilePath&"</LI>" 

    Do_Url = "http://" 

    Do_Url = Do_Url&Request.ServerVariables("SERVER_NAME")&"/main/index.asp" 

    Do_Url = Do_Url&"?Item_Classid="&Item_Classid 

    strUrl = Do_Url 

    dim objXmlHttp 

    set objXmlHttp = Server.CreateObject("Microsoft.XMLHTTP") 

    objXmlHttp.open "GET",strUrl,false 

    objXmlHttp.send() 

    Dim binFileData 

    binFileData = objXmlHttp.responseBody 

    Dim objAdoStream 

    set objAdoStream = Server.CreateObject("ADODB.Stream") 

    objAdoStream.Type = 1 

    objAdoStream.Open() 

    objAdoStream.Write(binFileData) 

    objAdoStream.SaveToFile FilePath,2 

    objAdoStream.Close() 

    Next 

    Html_Temp = Html_Temp&"<UL>" 

    %> 

    <% 

    Response.Write ( "成功生成文件:" ) 

    Response.Write ( "<BR>" ) 

    Response.Write Html_Temp 

    %>


方法二:


<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>

<%Dim myconn

myconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("数据库地址")

set conn=server.createobject("ADODB.connection")

conn.open myconn

   set rs=Server.CreateObject("ADODB.Recordset")

   SQL= "SELECT * FROM 产品"

     rs.Open sql,conn,1,1 

dim read,Curl,content


do while not rs.eof

Curl="http://localhost/post/proziliao.asp?pro_id="&rs("pro_id")&""       '这里是循环地址

read=getHTTPPage(Curl) 

if read<>"" then

content=read

Set Fso = Server.CreateObject("Scripting.FileSystemObject")

Filen=Server.MapPath("../post/proziliao_"&rs("pro_id")&".html")   '这里是生成的HTML

Set Site_Config=FSO.CreateTextFile(Filen,true, False)

Site_Config.Write content

Site_Config.Close

Set Fso = Nothing

end if

rs.movenext

loop


Function getHTTPPage(url) 

dim http 

set http=Server.createobject("Microsoft.XMLHTTP") 

Http.open "post",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

%>