日期:2014-05-16  浏览次数:20915 次

为什么这个List.asp不能产生正确的静态页面呢?
我的list.asp如下:

<!--#include file=conn.asp-->
<%
exec="select top 1 * from list order by  createddatetime desc"
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1 
%>
<%do while not rs.eof
 nurl=Trim(rs("filepath"))
 ntitle=trim(rs("title"))
 nurl2 = "http://192.168.1.1/test/" & nurl
%>
   <a href='<%=nurl2%>'><%=ntitle%></a>&nbsp;&nbsp;
<%
rs.movenext
loop
set rs=nothing
%>



而生成静态页面的代码如下:
sclist.asp
<%
'---生成静态页面
url = "http://192.168.1.1/test/list.asp"  
set http=Server.createobject("Msxml2.XMLHTTP")   
Http.open "GET",url,false   
Http.send()   
set objStream = Server.CreateObject("ADODB.Stream")   
objStream.type = 1   
objStream.open   
objstream.write http.responseBody  
objstream.saveToFile server.mappath("list.htm"),2   
objstream.close   
njthtml="list.htm"
Response.Write "<center>生成静态list.htm成功!</center>"  
%>  


我单独执行list.asp时,很正常,刚好有一个链接一点击就是我的文档。
但我想让上面的那个变成一个静态的页面,也是一个链接,点击就是下载文档。但是
我执行sclist.asp时,却生成的静态页面,没有链接响应了,只有那个title标题。为什么呢? 请指教,谢谢!

------解决方案--------------------

'过程名:SaveRemoteFile
'作用:保存远程的文件到本地
'参数:LocalFileName ------ 本地文件名
'参数:RemoteFileUrl ------ 远程文件URL
'参数:Referer ------ 远程调用文件(对付防采集的,用内容页地址,没有防的留空)
'==================================================
Public Function SaveRemoteFile1(LocalFileName, RemoteFileUrl, Referer)
SaveRemoteFile = True
Dim Ads, Retrieval, GetRemoteData
Set Retrieval = Server.CreateObject("Microsoft.XMLHTTP")
With Retrieval
.Open "Get", RemoteFileUrl, False
If Referer <> "" Then .setRequestHeader "Referer", Referer
On Error Resume Next
If Err <> 0 Then
Err.Clear
SaveRemoteFile1 = False
Exit Function
End If
.Send
If .Readystate <> 4 Then
 SaveRemoteFile1 = False
 Exit Function
End If
GetRemoteData = .ResponseBody
End With
Set Retrieval = Nothing
Set stm = server.CreateObject("Adodb.Stream")
stm.Type = 1 '以本模式读取
stm.mode = 3
stm.Open
stm.Write GetRemoteData
stm.SaveToFile server.MapPath(LocalFileName), 2
stm.flush
stm.Close
Set stm = Nothing
End Function

------解决方案--------------------


url = "http://192.168.1.1/test/list.asp"   

nfilename = "list.htm"

SaveRemoteFile1(nfilename,url,"")
Response.Write "<center>生成静态list.htm成功!</center>"