
谁能帮我解释一下这个代码么,关于ASP生成HTML文件的。
就下面这些代码,如果感觉这个不好,可以给我写一个新的,回答的好的话,会再加一百。ServerURL=CStr(Request.ServerVariables("SCRIP...
就下面这些代码,如果感觉这个不好,可以给我写一个新的,
回答的好的话,会再加一百。
ServerURL=CStr(Request.ServerVariables("SCRIPT_NAME"))
n=InStrRev(ServerURL,"/") '从右边第一个字符起查找"_"的位置,n为返回值
ServerURL=left(ServerURL, n)'显示从左边数第"n"个字符前面的字符,
ServerURL="http://"&Request.ServerVariables("SERVER_NAME")&""&ServerURL&"show.asp?id="&id&""
Set Mail1 = Server.CreateObject("CDO.Message")
Mail1.CreateMHTMLBody ServerURL,31
AA=Mail1.HTMLBody
Set Mail1 = Nothing
set objfso = Server.CreateObject("Scripting.FileSystemObject")
set htmout = objfso.CreateTextFile(server.mappath("html/"&id&".htm"))
AA=replace(AA,"adpic/","../adpic/")
AA=replace(AA,"link.asp","../link.asp")
AA=replace(AA,"link_img.asp","../link_img.asp")
AA=replace(AA,"index.asp","../index.asp")
AA=replace(AA,"114/../index.asp","../114/index.asp")
AA=replace(AA,"ad.asp","../ad.asp")
AA=replace(AA,"TV.asp","../tv.asp")
AA=replace(AA,"user.asp","../user.asp")
AA=replace(AA,"gbook.asp","../gbook.asp")
AA=replace(AA,"city.asp","../city.asp")
AA=replace(AA,"post.asp","../post.asp")
AA=replace(AA,"city_more.asp","../city_more.asp")
AA=replace(AA,"reg.asp","../reg.asp")
AA=replace(AA,"login.asp","../login.asp")
AA=replace(AA,"search.asp","../search.asp")
AA=replace(AA,"114/join.asp","../114/join.asp")
AA=replace(AA,"fabu.asp","../fabu.asp")
AA=replace(AA,"type.asp","../type.asp")
AA=replace(AA,"show.asp","../show.asp")
AA=replace(AA,"114/qy../login.asp","../114/qylogin.asp")
AA=replace(AA,"rq_message.asp","../rq_message.asp")
AA=replace(AA,"top.asp","../top.asp")
AA=replace(AA,"money.asp","../money.asp")
AA=replace(AA,"pic.asp","../pic.asp")
AA=replace(AA,"bbs/","../bbs/")
AA=replace(AA,"html/","")
AA=replace(AA,"ip.asp","../ip.asp")
AA=replace(AA,"phone.asp","../phone.asp")
AA=replace(AA,"about.asp","../about.asp")
AA=replace(AA,"search_gaoji.asp","../search_gaoji.asp")
htmout.write replace(AA,"images/","../images/")
htmout.close
set htmout=nothing
set objfso=nothing
response.write"<script>alert('恭喜您的信息已经发布成功!现在跳转到您发布的信息页面!');location='html/"&id&".htm'</script>"
关注三楼(那个取地址到底是什么用?)
关注五楼()
关注六楼(六楼的兄弟,你快说到重点了。不是抓别人的网站,而是我自己的网站。这样“抓取”的优缺点能详细说下么?另外想问你个问题,这样抓的东西写到数据库以后会有HTML代码,可是我只想要那里面的文字东西,或图片什么的这个要怎么搞呢,而且不好替换,因为没有规律。要怎么替换呢?还是有特殊的方法?)
这些问题也是我想问的,这个代码不是我写的,只是在网上找到,研究下。
因为我也搞不懂他用这些有什么用。所以来问下,这种写法是不是牛X到我认不出来,是不是很高明?
可是用这种方法,我这里测试可以使用。不过我到现在我不清楚,他这个生成的HTML文件里的内容,是怎么生出来的?
我想改生成的HTML文件的排版,都不知道在哪改,服了都。 展开
回答的好的话,会再加一百。
ServerURL=CStr(Request.ServerVariables("SCRIPT_NAME"))
n=InStrRev(ServerURL,"/") '从右边第一个字符起查找"_"的位置,n为返回值
ServerURL=left(ServerURL, n)'显示从左边数第"n"个字符前面的字符,
ServerURL="http://"&Request.ServerVariables("SERVER_NAME")&""&ServerURL&"show.asp?id="&id&""
Set Mail1 = Server.CreateObject("CDO.Message")
Mail1.CreateMHTMLBody ServerURL,31
AA=Mail1.HTMLBody
Set Mail1 = Nothing
set objfso = Server.CreateObject("Scripting.FileSystemObject")
set htmout = objfso.CreateTextFile(server.mappath("html/"&id&".htm"))
AA=replace(AA,"adpic/","../adpic/")
AA=replace(AA,"link.asp","../link.asp")
AA=replace(AA,"link_img.asp","../link_img.asp")
AA=replace(AA,"index.asp","../index.asp")
AA=replace(AA,"114/../index.asp","../114/index.asp")
AA=replace(AA,"ad.asp","../ad.asp")
AA=replace(AA,"TV.asp","../tv.asp")
AA=replace(AA,"user.asp","../user.asp")
AA=replace(AA,"gbook.asp","../gbook.asp")
AA=replace(AA,"city.asp","../city.asp")
AA=replace(AA,"post.asp","../post.asp")
AA=replace(AA,"city_more.asp","../city_more.asp")
AA=replace(AA,"reg.asp","../reg.asp")
AA=replace(AA,"login.asp","../login.asp")
AA=replace(AA,"search.asp","../search.asp")
AA=replace(AA,"114/join.asp","../114/join.asp")
AA=replace(AA,"fabu.asp","../fabu.asp")
AA=replace(AA,"type.asp","../type.asp")
AA=replace(AA,"show.asp","../show.asp")
AA=replace(AA,"114/qy../login.asp","../114/qylogin.asp")
AA=replace(AA,"rq_message.asp","../rq_message.asp")
AA=replace(AA,"top.asp","../top.asp")
AA=replace(AA,"money.asp","../money.asp")
AA=replace(AA,"pic.asp","../pic.asp")
AA=replace(AA,"bbs/","../bbs/")
AA=replace(AA,"html/","")
AA=replace(AA,"ip.asp","../ip.asp")
AA=replace(AA,"phone.asp","../phone.asp")
AA=replace(AA,"about.asp","../about.asp")
AA=replace(AA,"search_gaoji.asp","../search_gaoji.asp")
htmout.write replace(AA,"images/","../images/")
htmout.close
set htmout=nothing
set objfso=nothing
response.write"<script>alert('恭喜您的信息已经发布成功!现在跳转到您发布的信息页面!');location='html/"&id&".htm'</script>"
关注三楼(那个取地址到底是什么用?)
关注五楼()
关注六楼(六楼的兄弟,你快说到重点了。不是抓别人的网站,而是我自己的网站。这样“抓取”的优缺点能详细说下么?另外想问你个问题,这样抓的东西写到数据库以后会有HTML代码,可是我只想要那里面的文字东西,或图片什么的这个要怎么搞呢,而且不好替换,因为没有规律。要怎么替换呢?还是有特殊的方法?)
这些问题也是我想问的,这个代码不是我写的,只是在网上找到,研究下。
因为我也搞不懂他用这些有什么用。所以来问下,这种写法是不是牛X到我认不出来,是不是很高明?
可是用这种方法,我这里测试可以使用。不过我到现在我不清楚,他这个生成的HTML文件里的内容,是怎么生出来的?
我想改生成的HTML文件的排版,都不知道在哪改,服了都。 展开
6个回答
展开全部
ServerURL=CStr(Request.ServerVariables("SCRIPT_NAME")) '取得URL地址
n=InStrRev(ServerURL,"/") '从右边第一个字符起查找"/"的位置,n为返回值
ServerURL=left(ServerURL, n)'显示从左边数第"n"个字符前面的字符, 重新定义Url
ServerURL="http://"&Request.ServerVariables("SERVER_NAME")&""&ServerURL&"show.asp?id="&id&"" '重新定义自己的URL地址,如:http://www.baidu.com/(这里加上刚才取得的Url)/show.asp?id=4
Set Mail1 = Server.CreateObject("CDO.Message") '建立一个Message对象。用于取得页面中的文件
Mail1.CreateMHTMLBody ServerURL,31 '执行方法,取得文件内容
AA=Mail1.HTMLBody '将文件内容赋值给AA
Set Mail1 = Nothing '清空mail1所占资源
set objfso = Server.CreateObject("Scripting.FileSystemObject") '建立一个文本对象
set htmout = objfso.CreateTextFile(server.mappath("html/"&id&".htm")) '建立一个类似于html/4.htm的文件
'以下内容为将刚才取得的文件内容替换成需要的内容。(在这里是将它的链接路径转换为上一级)
AA=replace(AA,"adpic/","../adpic/") '替换
AA=replace(AA,"link.asp","../link.asp") '替换
AA=replace(AA,"link_img.asp","../link_img.asp") '替换
AA=replace(AA,"index.asp","../index.asp") '替换
AA=replace(AA,"114/../index.asp","../114/index.asp") '替换
AA=replace(AA,"ad.asp","../ad.asp") '替换
AA=replace(AA,"TV.asp","../tv.asp") '替换
AA=replace(AA,"user.asp","../user.asp") '替换
AA=replace(AA,"gbook.asp","../gbook.asp") '替换
AA=replace(AA,"city.asp","../city.asp") '替换
AA=replace(AA,"post.asp","../post.asp") '替换
AA=replace(AA,"city_more.asp","../city_more.asp") '替换
AA=replace(AA,"reg.asp","../reg.asp") '替换
AA=replace(AA,"login.asp","../login.asp") '替换
AA=replace(AA,"search.asp","../search.asp") '替换
AA=replace(AA,"114/join.asp","../114/join.asp") '替换
AA=replace(AA,"fabu.asp","../fabu.asp") '替换
AA=replace(AA,"type.asp","../type.asp") '替换
AA=replace(AA,"show.asp","../show.asp") '替换
AA=replace(AA,"114/qy../login.asp","../114/qylogin.asp") '替换
AA=replace(AA,"rq_message.asp","../rq_message.asp") '替换
AA=replace(AA,"top.asp","../top.asp") '替换
AA=replace(AA,"money.asp","../money.asp") '替换
AA=replace(AA,"pic.asp","../pic.asp") '替换
AA=replace(AA,"bbs/","../bbs/") '替换
AA=replace(AA,"html/","") '替换
AA=replace(AA,"ip.asp","../ip.asp") '替换
AA=replace(AA,"phone.asp","../phone.asp") '替换
AA=replace(AA,"about.asp","../about.asp") '替换
AA=replace(AA,"search_gaoji.asp","../search_gaoji.asp") '替换
htmout.write replace(AA,"images/","../images/") '替换并且将替换完成的文本存入刚才建立的文件当中。生成完成了!!!
htmout.close '关闭文件
set htmout=nothing '消空文件所占资源
set objfso=nothing '清空对象
response.write"<script>alert('恭喜您的信息已经发布成功!现在跳转到您发布的信息页面!');location='html/"&id&".htm'</script>" '提示信息,告诉你发布成功了!!
n=InStrRev(ServerURL,"/") '从右边第一个字符起查找"/"的位置,n为返回值
ServerURL=left(ServerURL, n)'显示从左边数第"n"个字符前面的字符, 重新定义Url
ServerURL="http://"&Request.ServerVariables("SERVER_NAME")&""&ServerURL&"show.asp?id="&id&"" '重新定义自己的URL地址,如:http://www.baidu.com/(这里加上刚才取得的Url)/show.asp?id=4
Set Mail1 = Server.CreateObject("CDO.Message") '建立一个Message对象。用于取得页面中的文件
Mail1.CreateMHTMLBody ServerURL,31 '执行方法,取得文件内容
AA=Mail1.HTMLBody '将文件内容赋值给AA
Set Mail1 = Nothing '清空mail1所占资源
set objfso = Server.CreateObject("Scripting.FileSystemObject") '建立一个文本对象
set htmout = objfso.CreateTextFile(server.mappath("html/"&id&".htm")) '建立一个类似于html/4.htm的文件
'以下内容为将刚才取得的文件内容替换成需要的内容。(在这里是将它的链接路径转换为上一级)
AA=replace(AA,"adpic/","../adpic/") '替换
AA=replace(AA,"link.asp","../link.asp") '替换
AA=replace(AA,"link_img.asp","../link_img.asp") '替换
AA=replace(AA,"index.asp","../index.asp") '替换
AA=replace(AA,"114/../index.asp","../114/index.asp") '替换
AA=replace(AA,"ad.asp","../ad.asp") '替换
AA=replace(AA,"TV.asp","../tv.asp") '替换
AA=replace(AA,"user.asp","../user.asp") '替换
AA=replace(AA,"gbook.asp","../gbook.asp") '替换
AA=replace(AA,"city.asp","../city.asp") '替换
AA=replace(AA,"post.asp","../post.asp") '替换
AA=replace(AA,"city_more.asp","../city_more.asp") '替换
AA=replace(AA,"reg.asp","../reg.asp") '替换
AA=replace(AA,"login.asp","../login.asp") '替换
AA=replace(AA,"search.asp","../search.asp") '替换
AA=replace(AA,"114/join.asp","../114/join.asp") '替换
AA=replace(AA,"fabu.asp","../fabu.asp") '替换
AA=replace(AA,"type.asp","../type.asp") '替换
AA=replace(AA,"show.asp","../show.asp") '替换
AA=replace(AA,"114/qy../login.asp","../114/qylogin.asp") '替换
AA=replace(AA,"rq_message.asp","../rq_message.asp") '替换
AA=replace(AA,"top.asp","../top.asp") '替换
AA=replace(AA,"money.asp","../money.asp") '替换
AA=replace(AA,"pic.asp","../pic.asp") '替换
AA=replace(AA,"bbs/","../bbs/") '替换
AA=replace(AA,"html/","") '替换
AA=replace(AA,"ip.asp","../ip.asp") '替换
AA=replace(AA,"phone.asp","../phone.asp") '替换
AA=replace(AA,"about.asp","../about.asp") '替换
AA=replace(AA,"search_gaoji.asp","../search_gaoji.asp") '替换
htmout.write replace(AA,"images/","../images/") '替换并且将替换完成的文本存入刚才建立的文件当中。生成完成了!!!
htmout.close '关闭文件
set htmout=nothing '消空文件所占资源
set objfso=nothing '清空对象
response.write"<script>alert('恭喜您的信息已经发布成功!现在跳转到您发布的信息页面!');location='html/"&id&".htm'</script>" '提示信息,告诉你发布成功了!!
展开全部
有人关注我的解释吗?
---------------------------------------------
ServerURL=CStr(Request.ServerVariables("SCRIPT_NAME")) '获取当前文件名,带"/"
n=InStrRev(ServerURL,"/") '从右边第一个字符起查找"/"的位置,n为返回值
ServerURL=left(ServerURL, n)'显示从左边数第"n"个字符前面的字符,
ServerURL="http://"&Request.ServerVariables("SERVER_NAME")&""&ServerURL&"show.asp?id="&id&"" '取地址构成新地址
Set Mail1 = Server.CreateObject("CDO.Message") '实例化CDO.Message邮件发送组件为mail1
Mail1.CreateMHTMLBody ServerURL,31 '通过mail1载入页面ServerURL
----------------------------------------------
对以上代码我做过测试了
<%
ServerURL=CStr(Request.ServerVariables("SCRIPT_NAME"))
response.write ServerURL
%>
输出结果/test/test.asp
<%
ServerURL=CStr(Request.ServerVariables("SCRIPT_NAME"))
n=InStrRev(ServerURL,"/")
ServerURL=left(ServerURL, n)
response.write ServerURL
%>
输出结果/test/
为什么生成静态页面要用CDO.Message,这个组件好象不是服务器自带的,测试时提示"Unknown Error ",为什么不直接使用fso把数据生成呢?
------------------------------
========
答复楼主,HTML的内容是通过CDO.Message抓取的,要修改生成的HTML文件的排版需要该原来的站点,如果原来站点不是自己的,建议做数据分析.
其实如果抓取别人网站的话,我更推荐使用Microsoft.XMLHTTP这个对象,网上有很多关于介绍的资料
-------------------------------
答复楼主,如我上面所说,如果选择抓取详细数据则需要做数据分析,如果是自己的站为什么不直接调取页面模版,从数据库获取数据进行填充,然后再生成静态页面呢?这样“抓取”是一种偷懒的方式,可以同时支持静态和动态两种模式,而代码不会有干扰,生成部分的代码就纯粹做生成,不用调数据库,我仍然推荐调数据库、调模版,然后整合生成
---------------------------------------------
ServerURL=CStr(Request.ServerVariables("SCRIPT_NAME")) '获取当前文件名,带"/"
n=InStrRev(ServerURL,"/") '从右边第一个字符起查找"/"的位置,n为返回值
ServerURL=left(ServerURL, n)'显示从左边数第"n"个字符前面的字符,
ServerURL="http://"&Request.ServerVariables("SERVER_NAME")&""&ServerURL&"show.asp?id="&id&"" '取地址构成新地址
Set Mail1 = Server.CreateObject("CDO.Message") '实例化CDO.Message邮件发送组件为mail1
Mail1.CreateMHTMLBody ServerURL,31 '通过mail1载入页面ServerURL
----------------------------------------------
对以上代码我做过测试了
<%
ServerURL=CStr(Request.ServerVariables("SCRIPT_NAME"))
response.write ServerURL
%>
输出结果/test/test.asp
<%
ServerURL=CStr(Request.ServerVariables("SCRIPT_NAME"))
n=InStrRev(ServerURL,"/")
ServerURL=left(ServerURL, n)
response.write ServerURL
%>
输出结果/test/
为什么生成静态页面要用CDO.Message,这个组件好象不是服务器自带的,测试时提示"Unknown Error ",为什么不直接使用fso把数据生成呢?
------------------------------
========
答复楼主,HTML的内容是通过CDO.Message抓取的,要修改生成的HTML文件的排版需要该原来的站点,如果原来站点不是自己的,建议做数据分析.
其实如果抓取别人网站的话,我更推荐使用Microsoft.XMLHTTP这个对象,网上有很多关于介绍的资料
-------------------------------
答复楼主,如我上面所说,如果选择抓取详细数据则需要做数据分析,如果是自己的站为什么不直接调取页面模版,从数据库获取数据进行填充,然后再生成静态页面呢?这样“抓取”是一种偷懒的方式,可以同时支持静态和动态两种模式,而代码不会有干扰,生成部分的代码就纯粹做生成,不用调数据库,我仍然推荐调数据库、调模版,然后整合生成
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
还有一个问题,为什么生成静态页面要用CDO.Message,这个组件好象不是服务器自带的,测试时提示"Unknown Error ",为什么不直接使用fso把数据生成呢?
回答者: eiwinter - 魔法师 五级 12-5 16:18
//////////////////////////////////////////////////
同eiwinter,cdo好像基本都是用来收发邮件方面的,用默认的FSO可以很轻松实现该问题
回答者: eiwinter - 魔法师 五级 12-5 16:18
//////////////////////////////////////////////////
同eiwinter,cdo好像基本都是用来收发邮件方面的,用默认的FSO可以很轻松实现该问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你代码写的太恶心了,你就算在给我500分我也不帮你弄,你个垃圾
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一楼的没素质,我是不懂.懂的话就会回答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询