收录日期:2020/12/05 21:55:54 时间:2016/07/06 09:03:12 标签:ASP
XMLHttp 生成静态页,为什么会有原ASP代码出现在新的HTML文件中?

查看新生成的index.html源文件,里面会出现 <%.....%>这样的ASP原代码,这是怎么回事啊? 求教了

代码如下:

<%
'转换乱玛,直接用xmlhttp调用有中文字符的网页得到的将是乱玛,可以通过adodb.stream组件进行转换
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


'返回目标文件的HTML代码
Function GetPage(Url)
dim ObjXMLHTTP
Set ObjXMLHTTP = Server.CreateObject("MSXML2.XMLHTTP")
ObjXMLHTTP.open "Get",url,false
ObjXMLHTTP.send()
If ObjXMLHTTP.ReadyState <> 4 then
Exit Function
End If
GetPage = BytesToBstr(Web.ResponseBody,"gb2312")
Set ObjXMLHTTP = Nothing
if Err.Number <> 0 Then Err.Clear
End Function

'生成静态文件
UrlStr = server.MapPath("index.asp")
NewHtml = GetPage(UrlStr)

Set FSO = Server.CreateObject("Scripting.FileSystemObject")
FileName = "index.html"
Set NewFile = FSO.OpenTextFile(Server.MapPath(FileName),2,true)
NewFile.WriteLine(NewHtml)
Set FSO = Nothing

If Err.Number = 0 Then
Response.Write("<a href='index.html'>生成完毕!查看</a>")
End If
%>
你把生成后的,有<%%>的那段代码贴出来看看
那肯定是你的里面包含有这样的字符
引用楼主 orliucs 的帖子:
XMLHttp 生成静态页,为什么会有原ASP代码出现在新的HTML文件中? 

查看新生成的index.html源文件,里面会出现 <%.....%>这样的ASP原代码,这是怎么回事啊? 求教了 

代码如下: 

<% 
'转换乱玛,直接用xmlhttp调用有中文字符的网页得到的将是乱玛,可以通过adodb.stream组件进行转换 
Function BytesToBstr(body,Cset) 
dim objstream 
set objstream = Server.CreateObject("adodb.stream") 
objstream.Type = 1…


UrlStr = server.MapPath("index.asp") 


汗!!

你这样写能不包含吗?

这个没有经过服务器编译的直接读取的

你用他改成
UrlStr ="http://www.abc.com/index.asp"类似这样的看看
应该就没问题了
UrlStr = server.MapPath("index.asp") 
NewHtml = GetPage(UrlStr) 
FileName = "index.html" 

set objStream = Server.CreateObject("ADODB.Stream")
  objStream.type = 1  
  objStream.open  
  objstream.write NewHtml
  objstream.saveToFile FileName,2
 
  set objStream = nothing

你这样试试呢
我的意思是:  
生成了index.html  但是index.html 的源文件 竟然和 index.asp 完全一样,  
根本没有rs读取后的静态内容。
搞不懂了,看起来好像,只是把index.asp的代码 一点不动 放到index.html 里一样,怎么会这样呢?
引用 5 楼 orliucs 的回复:
我的意思是:  
生成了index.html  但是index.html 的源文件 竟然和 index.asp 完全一样,  
根本没有rs读取后的静态内容。 
搞不懂了,看起来好像,只是把index.asp的代码 一点不动 放到index.html 里一样,怎么会这样呢?

3楼正解.
你用server.mappath是取的ASP文件本身的内容,不是该ASP文件静态化后的内容;
要用URL路径,不是映射的文件存放路径
谢谢

是 UrlStr = server.MapPath("index.asp")  的问题

JSP问题,在线急等! 怎么样检测客户端是否已经安装了某软件? ===如何将oracle的字符集设定为UTF-8,还是oracle只能一个字符集,比如,简体中文,繁体中文等等==== 如何访问CVIEW类的成员变量 C#中如何退出函數或循環? asp+sql数据库问题 C#高级问题,请对ADDIN或者对用XML设计窗体的看看,代码共享 数据类单数与复数!如何不用复数类来管理单数类而用集合ArrayList!!!急急!!! 高手快来:如何用Sql知道Northwind中有什么表? 怎么把一个32位的int数据转到4个8位的char数据中?? 关于打印直线的问题 我的网站上可以放.net,ie,firefox的logo吗? 字符串匹配的问题 介绍一个好地方 如何得到web应用中http请求后返回的数据包 怎么在Active控件中增加拖放功能(drap and drop) 如何获得JFrame在整个屏幕的坐标? 软件工程7个空,我的答案对吗? 关于用VB制作网页登陆程序的问题 有懂播放列表的么? 怎样取得系统默认的languageID,急,急,急!!!! 关于打包及展开 刚装好Solaris10,局域网是OK的,就是不能上internet,要怎样设置Client的DNS? 汉字为何不能直接输入到JTable? 请教个用sql server2000自动记帐的问题 怎么把数据库中非的INT字段的数据删除??搞了半天还不行 请问怎么判断一个数字是整数还是小数 关于进度条的问题,在程序里怎么体现进度? Crystal Reports 10 报表到Excel 时 Excel文件是空的,请帮忙诊断 使用SMTP1作一个给已知邮件地址发送邮件的问题!!!请大家帮我(毕业设计)