- ·上一篇文章:asp天气预报采集代码
- ·下一篇文章:asp随机获取数据库中的记录代码
生成静态页面方法
原理:用asp获取动态页面的html代码后,再将这些html代码写成html代码。
<
%
Set 
MyFileObject=Server.CreateObject("
Scripting.FileSystemObject"
)
path=server.mappath("
index.html"
)
If 
Myfileobject.fileexists(path) 
Then 
&
#39
如果存在此文件,删除之
 
MyfileObject.deletefile 
path
End 
If
Set 
MyTextFile=MyFileObject.CreateTextFile(path)
strurl="
http://www.sina.com.cn/"
 
 
 
&
#39
这里可以换成其他动态页面的地址。
strTmp 
= 
GetHTTPPage(trim(strurl))
MyTextFile.WriteLine(strTmp)
MytextFile.Close
response.write 
"
完成任务"
%>
<
%
Function 
getHTTPPage(url) 
 
On 
Error 
Resume 
Next
 
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 
 
 
Response.Write 
"
<
p 
align=&
#39
center&
#39
>
<
font 
color=&
#39
red&
#39
>
<
b>
服务器获取文件内容出错<
/b>
<
/font>
<
/p>
"
 
 
 
Err.Clear
 
End 
If 
 
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
%>
<
%
Set 
MyFileObject=Server.CreateObject("
Scripting.FileSystemObject"
)
path=server.mappath("
index.html"
)
If 
Myfileobject.fileexists(path) 
Then 
&
#39
如果存在此文件,删除之
 
MyfileObject.deletefile 
path
End 
If
Set 
MyTextFile=MyFileObject.CreateTextFile(path)
strurl="
http://www.sina.com.cn/"
 
 
 
&
#39
这里可以换成其他动态页面的地址。
strTmp 
= 
GetHTTPPage(trim(strurl))
MyTextFile.WriteLine(strTmp)
MytextFile.Close
response.write 
"
完成任务"
%>
<
%
Function 
getHTTPPage(url) 
 
On 
Error 
Resume 
Next
 
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 
 
 
Response.Write 
"
<
p 
align=&
#39
center&
#39
>
<
font 
color=&
#39
red&
#39
>
<
b>
服务器获取文件内容出错<
/b>
<
/font>
<
/p>
"
 
 
 
Err.Clear
 
End 
If 
 
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
%>
生成静态页面方法