社区
ASP
帖子详情
----》请教星级高手:不用fso自动生成静态页面(html或shtml)的例子!《----
lawdoor
2004-10-19 11:47:45
想禁止服务器fso,但是又想生成静态页面,寻求除fso外的解决方案!
...全文
417
24
打赏
收藏
----》请教星级高手:不用fso自动生成静态页面(html或shtml)的例子!《----
想禁止服务器fso,但是又想生成静态页面,寻求除fso外的解决方案!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
24 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
serverme
2004-11-09
打赏
举报
回复
up
lawdoor
2004-10-22
打赏
举报
回复
欢迎大家继续讨论!·
lawdoor
2004-10-22
打赏
举报
回复
正像大家所想象的那样:会不会引来一系列的安全隐患??另外那位知道有没有信息管理应用的例子!
alcoholwang
2004-10-20
打赏
举报
回复
使用IISREWRITE软件
urlrewrite的动态页面更易被搜索引擎所搜到。具体你可以搜一下。
其实很简单,比如原本的链接是http://www.abc.com/News.ASP?ID=123
用IIS rewrite写一条规则
RewriteRule /news/(.*).html /News.ASP?ID=$1 [L]
那么你,对外的连接就可以是http://www.abc.com/News/123.html
其实访问的是http://www.abc.com/News.ASP?ID=123
这样根本不用生成什么静态页面
ljupin
2004-10-20
打赏
举报
回复
TO:alexzhang00(三角猫)
受教了
我多数的时候都是用Stream代替xmlhttp来下载其他网站上的文件,你觉得哪个好点,哪个稳定
我测试中xmlhttp有时候不稳定,出现莫名其妙的错误(下载的文件不正常)
qhyan23
2004-10-20
打赏
举报
回复
学习,谢谢
tigerhu76
2004-10-20
打赏
举报
回复
mark,也想知道最好的方法。我发觉好象使用 regsvr32 /u scrrun.dll 后,adodb.stream 也不能用了。
rabbit666
2004-10-19
打赏
举报
回复
用Adodb.Stream的方法不如用XML+XSL了,用XMLDOM吧,也可以生成静态文本
ljupin
2004-10-19
打赏
举报
回复
如上几位所说,用Adodb.Stream可以写文本和二进制文件
但是服务器禁用FSO的话,是否Adodb.Stream还有效,就没测试过了,两者应该没有联系
华之瓯越
2004-10-19
打赏
举报
回复
收藏 〉〉 alexzhang00(三角猫)
DeltaCat
2004-10-19
打赏
举报
回复
看了楼上的老兄, 发现刚才写错了一点
ds.Mode = 2
^_^
wzgme
2004-10-19
打赏
举报
回复
组件:"Adodb.Stream"
有下列方法:
Cancel 方法
使用方法如下
Object.Cancel
说明:取消执行挂起的异步 Execute 或 Open 方法的调用。
Close 方法
使用方法如下
Object.Close
:关闭对像
CopyTo 方法
使用方法如下
Object.CopyTo(destStream,[CharNumber])
说明:将对像的数据复制,destStream指向要复制的对像,CharNumber为可选参数,指要复制的字节数,不选为全部复制。
Flush 方法
使用方法如下
Object.Flush
说明:
LoadFromFile 方法
使用方法如下
Object.LoadFromFile(FileName)
说明:将FileName指定的文件装入对像中,参数FileName为指定的用户名。
Open 方法
使用方法如下
Object.Open(Source,[Mode],[Options],[UserName],[Password])
说明:打开对像,
参数说明:Sourece 对像源,可不指定
Mode 指定打开模式,可不指定,可选参数如下:
adModeRead =1
adModeReadWrite =3
adModeRecursive =4194304
adModeShareDenyNone =16
adModeShareDenyRead =4
adModeShareDenyWrite =8
adModeShareExclusive =12
adModeUnknown =0
adModeWrite =2
Options 指定打开的选项,可不指定,可选参数如下:
adOpenStreamAsync =1
adOpenStreamFromRecord =4
adOpenStreamUnspecified=-1
UserName 指定用户名,可不指定。
Password 指定用户名的密码
Read 方法
使用方法如下:
Object.Read(Numbytes)
说明:读取指定长度的二进制内容。
参数说明:Numbytes指定的要读取的找度,不指定则读取全部。
ReadText 方法
使用方法如下:
Object.ReadText(NumChars)
说明:读取指定长度的文本
参数说明:NumChars指定的要读取的找度,不指定则读取全部。
SaveToFile 方法
使用方法如下:
Object.SaveToFile(FileName,[Options])
说明:将对像的内容写到FileName指定的文件中
参数说明:FileName指定的文件
Options 存取的选项,可不指定,可选参数如下:
adSaveCreateNotExist =1
adSaveCreateOverWrite =2
SetEOS 方法
使用方法如下:
Object.setEOS()
说明:
SkipLine 方法
使用方法如下:
Object.SkipLine()
说明:
Write 方法
使用方法如下:
Object.Write(Buffer)
说明:将指定的数据装入对像中。
参数说明:Buffer 为指定的要写入的内容。
WriteText 方法
使用方法如下:
Object.Write(Data,[Options])
说明:将指定的文本数据装入对像中。
参数说明:Data 为指定的要写入的内容。
Options 写入的选项,可不指定,可选参数如下:
adWriteChar =0
adWriteLine =1
有下列属性:
Charset
EOS 返回对像内数据是否为空。
LineSeparator 指定换行格式,可选参数有
adCR =13
adCRLF =-1
adLF =10
Mode 指定或返加模式。
Position 指定或返加对像内数据的当前指针。
Size 返回对像内数据的大小。
State 返加对像状态是否打开。
Type 指定或返回的数据类型,可选参数为:
adTypeBinary =1
adTypeText =2
DeltaCat
2004-10-19
打赏
举报
回复
要求 MDAC 2.5+
DeltaCat
2004-10-19
打赏
举报
回复
写个大概:
Dim ds
Set ds = Server.CreateObject("ADODB.STREAM")
ds.Type = 0 '0表示文本 1表示二进制
ds.Mode = 3 '3 为读写模式
ds.Charset = "GB2312" '可以不指定
ds.WriteText 你的静态文件内容 ' 和用FSO没什么区别
ds.Save Server.MapPath("xx.htm"), 2 '2 表示有则覆盖
ds.Close
Set ds = nothing
cnsdn
2004-10-19
打赏
举报
回复
来源:http://www.lunji.com/develop/static.htm
下面的例子是将、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 3
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
%>
satans18
2004-10-19
打赏
举报
回复
太平洋下载里面有,我曾经见过
lawdoor
2004-10-19
打赏
举报
回复
兄台,有没有这方面的例子?
DeltaCat
2004-10-19
打赏
举报
回复
只要有写权限就可以了
DeltaCat
2004-10-19
打赏
举报
回复
用 ADODB.STREAM
若白师妹
2004-10-19
打赏
举报
回复
我承认我是是copy来的
众所周知,FileSystemObject组件的强大功能及破坏性是它屡屡被免费主页
提供商(那些支持ASP)的禁用的原因,我整理了一下,本来只找到两种方法,后来
被某人一刺激,硬是想到第三种不为人所知的方法,呵呵,也不知道是不是这样的。
第一种:用RegSrv32 /u C:\WINDOWS\SYSTEM\scrrun.dll(win98路径)来注销该组
件。此方法过于狠毒,属于同归于尽的方法,大家都没得用,是下招
第二种:修改Progid的值,在ASP里调用组件的方式通常是 Set 对象名=Server.
CreateObject("Progid",这时候我们就可以通过修改注册表中的Progid值从达
到禁用该组件的方法。在 开始-运行中敲入regedit,然后找到HKEY_CLASSES_ROO
T\Scripting.FileSystemObject,这时候我们就可以更改该Progid的值了,如改
成Scripting.FileSystemObject8。这样在ASP页里就这样调用了:
<%@ Language=Vbscript%>
<%
Set Fs=Server.CreateObject("Scripting.FileSystemObject8"
%>
(如果你前面没有调用过该组件的话,则无须重启,就可以看到效果了,否则请重
启后看效果。)
这时候我们看看还是用原来的调用方法的结果:
<%@ Language=Vbscript%>
<%
Set Fs=Server.CreateObject("Scripting.FileSystemObject"
%>
这时候的运行结果为:
服务器对象 错误 'ASP 0177 : 800401f3'
Server.CreateObject 失败
/aspimage/testfile2.asp, 行3
800401f3
(OK,达到我们的要求)
该方法由于本人迟了两步,结果就让别人抢着回答了,这样极大的刺激了我,结
果就产生了第三种方法。
第三种:细心的高手们会想,既然能通过修改Progid值来禁用该组件,那Clsid是
否也可以来修改呢?(OK,你想得和我一样)我们知道,除了CreateObject方法以
外,也可以使用一般的<object>标注建立一个组件,我们可以在ASP里面使用HTM
L的<object>标注,以便在网页中加入一个组件。方法是:
<object runat=server id=fs1 scope=page progid="Scripting.FileSystemObj
ect"></object>
Runat表示是在服务端执行,Scope表示组件的生命周期,可以选用Session,Appl
ication或page(表示当前页面,也可缺省)
这种写法对我们没用,还有一种写法是:
<object runat=server id=fs1 scope=page classid="clsid:clsid的值"></obj
ect>
我们也可以通过修改该Clsid的值而禁用该组件,如将注册表中HKEY_CLASSES_RO
OT\Scripting.FileSystemObject\CLSID的值0D43FE01-F093-11CF-8940-00A0C90
54228改成0D43FE01-F093-11CF-8940-00A0C9054229(改了最后面一位),这时候的
写法为:
<object runat=server id=fs1 scope=page classid="clsid:0D43FE01-F093-11
CF-8940-00A0C9054229"></object>
看运行结果,没问题,OK。这时候我们再用
<object runat=server id=fs1 scope=page classid="clsid:0D43FE01-F093-11
CF-8940-00A0C9054228"></object>
这时候就出错了。
新建一用户:iusr_domain
IIS里设置对应站点的匿名用户IUSR_DOMAIN
CACLS: 设置目录权限
这样FSO可用,但不会影响别人
加载更多回复(4)
excel VBA编程番外篇(字典+正则表达式+
FSO
)
1.让windows脚本技术中的字典对象结合excel VBA,功能将...在Scripting 类型库 (Scrrun.Dll)中,在VBA中对
FSO
对象下的驱动器、文件夹、文件的读取,写入、新建、复制、移动、删除等操作。让excelVBA的功能更加的强大。
asp
静态
页生成类
FSO
生成
静态
类
asp
静态
页生成类
FSO
生成
静态
类 看到好东西怎么能不收藏呢,留下备用,呵呵~~ /************************* / 属性设置说明 / foldename "文件夹名", 如果不设置,将
自动生成
[年月日]时间格式的文件夹名 / ...
FSO
生成
静态
HTML
文件
FSO
生成
静态
HTML
文件的时候替换模板标签一直是一个很麻烦的问题,至少我是这么认为的,还要别外做一个模板,麻烦!,我今天看见有一个方法可以解决这个问题 如一个正常的index.asp
页面
,并且用ASP代码调出数据库中的...
网站生成
静态
页面
攻略
网站生成
静态
页面
攻略 收藏 <br />生成
HTML
方法主要步骤只有两个: 一、获取要生成的
html
文件的内容 二、将获取的
html
文件内容保存为
html
文件 我在这里主要说明的只是第一步:如何获取要...
不用
模板,只用ASP+
FSO
生成
静态
HTML
页的一个方法
FSO
生成
静态
HTML
文件的时候替换模板标签一直是一个很麻烦的问题,至少我是这么认为的,还要别外做一个模板,麻烦!,我今天看见有一个方法可以解决这个问题如一个正常的index.asp
页面
,并且用ASP代码调出数据库中的...
ASP
28,391
社区成员
357,060
社区内容
发帖
与我相关
我的任务
ASP
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
复制链接
扫一扫
分享
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章