这几天维护网站的时候要加很多的新闻或者其它文章,因为经常到一个网站上找文章,所以就想,能不能做个程序,指定一个网址,让ASP去搜索这个网址上所有的文章,进而把搜索回来的文章进行分析,把文章内容保存到数据库里,这样不就可以省去很多麻烦了吗?
后来才知道,这个想法早就有人想过,也有人做过新闻小偷,呵呵,不过据说是php的,我没见过,呵呵,反正报着一种开发的心态开始进行工作……
我记得以前收集的有一篇文章介绍的有如何用ASP获取别人的网页,拿出来一看,嗨,没几句代码:
URL = http://news.sina.com.cn/
Set objInet = Server.CreateObject("InetCtls.Inet")
objInet.RequestTimeOut = 20
objInet.Url = URL
StrGet = objInet.OpenURL()
Response.Write StrGet
这不就简单了。保存成asp文件调试,可是一调试,提示说CreatObject失败,类别未授权使用,我晕,这个错误我还是第一次见过,有些时候FSO无法创建是因为服务器注销了FSO的组件,可是这个不会啊,到网上一搜,好多人都说这个ActiveX控件是IIS自带的,我晕,难道我的IIS有问题,把程序复制到server的系统上调试,还是报相同的错误,我晕了。我也不知道这个组件对应的是哪个文件~
今天在我们群里问高手这个问题,说是对应的文件应该是MSINET.OCX,c:/winnt/system32里找到了这个文件,注册一下,好,注册成功,再调试程序,我晕,还是报错。难道是我电脑上的这个文件不能用?我晕,从网上下载了一个,重新注册,还是不中,我寒~
继续在网上找,哎,突然发现有个人也碰到问题了,不过人家说的跟我说的不是一个控件,他的原文是这样的:
关于VB调用MSWinsock控件
Windows脚本可以调用MSWinsock控件获得比较强大的网络访问能力,但那个106KB的mswinsck.ocx(V6.0.89.88)不是系统自带的,这使得该控件的实用性大打折扣。而且,脚本要调用MSWinsock还必须克服一个困难。
以"MSWinsock"为关键字,使用百度搜索网页,可以获得至少3个VBS调用MSWinsock控件的例子:获取本机IP、端口扫描和发在"黑防"的《VBS+MSWinsock打造灵巧UDP后门》。但是,当你下载并注册mswinsck.ocx,然后尝试那些代码时,却会得到一个"类别未授权使用(Class is not licensed for use)"错误,错误号0x80040112。那些代码的作者似乎都以为MSWinsock和一般的控件一样,只要用regsvr32注册就能正常使用了,没有实际测试它的可移植性。而转贴文章的人,更不会关心内容是否可*,一味地复制粘贴而已。结果,网上所有关于VBS调用MSWinsock的例子都是"空中楼阁",没有一个跑的起来。国内如此,国外也一样。所有对该控件无法使用的质疑,都被人以"需要注册"为理由打发了。当然,也有了解"真相"的人,但其给出的解决方案竟然是用VB重新写个ocx封装MSWinsock,这实在是@#$%^&!。
那么,"真相"究竟是什么?搜索"类别未授权使用"和错误号,这是个好主意,但结果不理想。我们需要逆向思考,为什么原作者不会遇到错误。答案是原作者的mswinsck.ocx不是单独注册的,而是随VB一起安装的。其中的差别在于,后者会安装VB控件的设计时许可证(design-time license)。ActiveX控件的License有两种:设计时(design-time)和运行时(run-time)。当编译调用了某个控件的exe/dll/ocx时,编译器会自动加入该控件的运行时许可证,所以"重新写个ocx封装MSWinsock"这个办法可行。使用脚本直接调用MSWinsock时没有运行时许可证,这时脚本宿主会尝试在注册表中获取设计时许可证,单独注册的MSWinsock没有相应的设计时许可证,所以就出错了。
在VS.NET安装盘里有VB6控件的授权密钥(\Extras\VB6 Controls\VB6Controls.reg),导入注册表后就能正常使用包括MSWinsock在内的VB6控件了。
我想,是不是这个控件也是因为这个问题才不能用的?好在这个文章的作者还把这个注册表文件共享了出来,赶紧下载回来。打开一看,果然有一个Internet Transfer Control 6.0 license key,这个ITC不正是我想要的吗?赶紧导入到注册表。再调试程序,我晕,可耻地失败鸟~
不过这次失败的原因是没有重启电脑,呵呵,重启一下计算机,一切OK,哈哈哈。顺便把原作者提供的注册表文件也传上来,或许你也能用得着~
这下就可以好好的做我的文章小偷了~
利用ActiveX控件InetCtls.Inet在ASP中实现新闻小偷
2019-10-24 10:59asp教程网 ASP教程
这几天维护网站的时候要加很多的新闻或者其它文章,因为经常到一个网站上找文章,所以就想,能不能做个程序,指定一个网址,让ASP去搜索这个网址上所有的文章,进而把搜索回来的文章进行分析,把文章内容保存到数据库里
延伸 · 阅读
- 2019-10-24另类扩展名同样执行ASP
- 2019-10-23用ASP读取XML文件的具体方法与示例
- 2019-10-23很有用的学习ASP常用到的代码
- 2019-10-23用asp实现文件浏览、上传、下载的程序
- 2019-10-23将首页转成静态html页的asp文件
- 2019-10-23用asp实现批量删除bak文件
精彩推荐
- ASP教程
asp 去掉html中的table正则代码函数
asp 去掉html中的table正则代码函数...
- ASP教程
asp下实现字符串的补充fill()
在一个字符串前后补全另一字符串,在一个字符串前面补全另一字符串,在一个字符串后面补全另一字符串 ...
- ASP教程
asp两组字符串数据比较合并相同数据
两组字符串数据,需要比较其中相同的数据,并将其值相加并组成一个新的字符串数据 ...
- ASP教程
ASP提示错误 '8002801d'的解决办法
这篇文章主要介绍了ASP提示错误 '8002801d'的解决办法,本文使用重新注册的方法解决了这个问题,需要的朋友可以参考下...
- ASP教程
asp的程序能实现伪静态化的方法
asp的程序能实现伪静态化的方法...
- ASP教程
巧用FileSystem组件实现WEB应用中的本地特定打印的方法
一般情况下,基于WEB的业务应用都采用三层或三层以上的结构,前台即客户端是普通的WEB浏览器,中间业务逻辑应用层存放于WEB服务器上,由WEB服务器上的...
- ASP教程
ASP文件中的安全问题
ASP具有简单、易用、多功能,可扩充性等强大功能,但也存在一些问题。譬如,如果使用ASP的话,可能会导致网络的安全性大大降低了! ...
- ASP教程
ASP中实现的URLEncode、URLDecode自定义函数
这篇文章主要介绍了ASP中实现的URLEncode、URLDecode自定义函数,和ASP自带的server.urlencode是不一样的哦,需要的朋友可以参考下 ...