用正则和xmlHttp实现的asp小偷程序

代码如下:

<% 
'======================================== 
class EngineerSearch 
'老龙:laolong9999@sina.com 
':模拟XML获取http标记资源(用过之后就知道为什么XML有用:)) 
'利用引擎搜索(显示引擎信息或其超连接网站上的信息或直接一个指定页面的相关信息,利用正则和xmlHttp, 
'程序的使用需要会构造正则) 
'--------------------------------------------------------------- 
private oReg,oxmlHttp'一个正则,一个微软xmlhttp 
'--------------------------------------------------------------- 
public sub class_initialize()'对象建立触发 
set oReg=new regExp 
oReg.Global=true 
oReg.IgnoreCase=true 
set oXmlHttp=server.createobject("Microsoft.XmlHttp") 
end sub 
'--------------------------------------------------------------- 
public sub class_terminate()'对象销毁触发 
set oReg=nothing'必须手动释放class内的自建对象,asp只自动释放由class定义的对象 
set oXmlHttp=nothing 
If typename(tempReg)<>"nothing" then'方法体内的对象释放资源 
set tempReg=nothing 
end if 
end sub 
'--------------------------------------------------------------- 
'引擎级搜索 
public function engineer(url,EngineerReg) 
'功能介绍:获得url的返回信息(通常用于引擎查找),提取其中的EngineerReg的特定信息,返回matches集合到 
'函数名。获得url查询结果,搜寻出用engineerReg正则定义的结果,生成一个matches集合, 
'由于无法建立集合及操作集合个数(vbscript),最好再自己遍历集合,也可以考虑二维数组 
dim strConent 
strContent=oXmlHttp.open("get",url,false) 
on error resume next 
oXmlHttp.send() 
if err.number<>0 then 
exit function 
end if 
strContent=bytes2BSTR(oXmlHttp.responseBody) 
if isnull(EngineerReg) then 
engineer=AbsoluteURL(strContent,url) 
else 
oReg.Pattern=EngineerReg 
set engineer=oReg.Execute(AbsoluteURL(strContent,url))  
end if 
end function 
'--------------------------------------------------------------- 
'汉字编码,(网人) 
public Function bytes2BSTR(vIn)  
strReturn = ""  
For i = 1 To LenB(vIn)  
ThisCharCode = AscB(MidB(vIn,i,1))  
If ThisCharCode < &H80 Then  
strReturn = strReturn & Chr(ThisCharCode)  
Else  
NextCharCode = AscB(MidB(vIn,i+1,1))  
strReturn = strReturn & Chr (CLng(ThisCharCode) * &H100 + CInt(NextCharCode))  
i = i + 1  
End If  
Next  
bytes2BSTR = strReturn  
End Function 
'--------------------------------------------------------------- 
public Function SearchReplace(strContent,ReplaceReg,ResultReg) 
'替换,将strContent中的replaceReg描述的字符串用resultReg描述的替换,返回到searchReplace去 
'将正则的replace封装了。 
oReg.Pattern=ReplaceReg 
SearchReplace=oReg.replace(strContent,ResultReg) 
End Function 
'--------------------------------------------------------------- 
public Function AbsoluteURL(strContent,byval url) 
'将strContent中的相对URL变成oXmlHttp中指定的url的绝对地址(http/https/ftp/mailto:) 
'正则可以修改修改。 
dim tempReg 
set tempReg=new RegExp 
tempReg.IgnoreCase=true 
tempReg.Global=true 
tempReg.Pattern="(^.*\/).*$"'含文件名的标准路径http://www.wrclub.net/default.aspx 
Url=tempReg.replace(url,"$1") 
tempReg.Pattern="((?:src|href).*?=[\'\u0022](?!ftp|http|https|mailto))" 
AbsoluteURL=tempReg.replace(strContent,"$1"+Url) 
set tempReg=nothing 
end Function 
'--------------------------------------------------------------- 
end class 
'======================================== 
%> 
<%'例子 
Response.CharSet = "GB2312"  
dim mySearch  
set mySearch=new EngineerSearch 
'URL一定是包含文件扩展名的完整地址,结果是集合,集合中的每个项目是数组,应该这样引用子查询:myMatches(0).subMatches(0) 
set myMatches=mySearch.engineer("http://www.wrclub.net/default.aspx","<img.*?>") 
if myMatches.count=0 Then 
response.write "没有你正则的字符串" 
end if 
if myMatches.count>0 then 
response.write myMatches.count&"<br>" 
for each key in myMatches 
response.write key.firstindex&":"&cstr(key.value)&"<br>" 
next 
end if 
%>

更诸多的应用,只要你会正则

(0)

相关推荐

  • 用正则和xmlHttp实现的asp小偷程序

    复制代码 代码如下: <%  '========================================  class EngineerSearch  '老龙:laolong9999@sina.com  ':模拟XML获取http标记资源(用过之后就知道为什么XML有用:))  '利用引擎搜索(显示引擎信息或其超连接网站上的信息或直接一个指定页面的相关信息,利用正则和xmlHttp,  '程序的使用需要会构造正则)  '----------------------------------

  • ASP小偷程序如何利用XMLHTTP实现表单的提交

    [原创]ASP小偷程序如何利用XMLHTTP实现表单的提交以及cookies或session的发送 利用XMLHTTP来制作小偷的具体细节落伍很多人都发过和讨论过了,但是在制作ASP小偷的过程中,很多人就发现ASP小偷不如PHP小偷的那么强 大了.确实,如果在原网站如果存在表单提交或cookies的验证,对于ASP来说,不使用基于SOCKET的组件就难以完成,其实,XMLHTTP的另外两 个方法被我们忽略了,而这正是问题的关键. 下面首先来说说这个方法 1..send() 由于流行的小偷是使用的

  • ip138之asp小偷程序代码

    <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>我们 >> 手机号码查询 </title> <meta name="generator" content="我们"> <style type="tex

  • 如何写ASP入库小偷程序

    现在网上流行的小偷程序比较多,有新闻类小偷,音乐小偷,下载小偷,那么它们是如何做的呢,下面我来做个简单介绍,希望对各位站长有所帮助. (一)原理 小偷程序实际上是通过了XML中的XMLHTTP组件调用其它网站上的网页.比如新闻小偷程序,很多都是调用了sina的新闻网页,并且对其中的html进行了一些替换,同时对广告也进行了过滤.用小偷程序的优点有:无须维护网站,因为小偷程序中的数据来自其他网站,它将随着该网站的更新而更新:可以节省服务器资源,一般小偷程序就几个文件,所有网页内容都是来自其他网站.

  • ASP小偷(远程数据获取)程序的入门教程

    这里所说的"小偷"指的是在ASP中运用XML中的XMLHTTP组件提供的强大功能,把远程网站上的数据(图片,网页及其他文件)抓取到本地,经过各种处理后显示到页面上或者存储进数据库的一类程序.你可以通过这种小偷程序,完成过去一些似乎完全不可能实现的任务,比如说把某个站的页面偷梁换柱后变成自己的页面,或者把某个站的一些数据(文章,图片)保存到本地数据库中加以利用."小偷"的优点有:无须维护网站,因为小偷程序中的数据来自其他网站,它将随着该网站的更新而更新:可以节省大量的

  • ASP小偷(远程数据获取)程序入门教程

    这里所说的"小偷"指的是在asp中运用xml中的xmlhttp组件提供的强大功能,把远程网站上的数据(图片,网页及其他文件)抓取到本地,经过各种处理后显示到页面上或者存储进数据库的一类程序.你可以通过这种小偷程序,完成过去一些似乎完全不可能实现的任务,比如说把某个站的页面偷梁换柱后变成自己的页面,或者把某个站的一些数据(文章,图片)保存到本地数据库中加以利用."小偷"的优点有:无须维护网站,因为小偷程序中的数据来自其他网站,它将随着该网站的更新而更新:可以节省大量的

  • PHP小偷程序的设计与实现方法详解

    本文实例讲述了PHP小偷程序的设计与实现方法.分享给大家供大家参考,具体如下: 其实自己一直想做一个内涵图片的网站,以前的想法是做一个CMS,然后自己上传一些图片.. 开始真这么做的,没什么动力.之后就放弃了,后来研究了一个CURL.反正还是把这个想法实现比较好. 用PHP盗图,就好比:穿着袜子穿凉鞋一样.虽然没问题,但看着确实蛋疼. 我先说一下我对PHP小偷程序的设计,PHP不支持多线程,这样就只能分先后顺序来做了 获取到目标网站的HTML页面+解析HTML页面获取到图片存储的连接+用二进制方

  • PHP实现小偷程序实例

    为什么使用"小偷程序"? 远程抓取文章资讯或商品信息是很多企业要求程序员实现的功能,也就是俗说的小偷程序.其最主要的优点是:解决了公司网编繁重的工作,大大提高了效率.只需要一运行就能快速的抓取别人网站的信息. "小偷程序"在哪里运行? "小偷程序" 应该在 Windows 下的 DOS或 Linux 下通过 PHP 命令运行为最佳,因为,网页运行会超时. 比如图(Windows 下 DOS 为例): "小偷程序"的实现 这里主

  • asp 采集程序常用函数分析

    原理 采集程序实际上是通过了XML中的XMLHTTP组件调用其它网站上的网页.比如新闻采集程序,很多都是调用了sina的新闻网页,并且对其中的html进行了一些替换,同时对广告也进行了过滤.用采集程序的优点有:无须维护网站,因为采集程序中的数据来自其他网站,它将随着该网站的更新而更新:可以节省服务器资源,一般采集程序就几个文件,所有网页内容都是来自其他网站.缺点有:不稳定,如果目标网站出错,程序也会出错,而且,如果目标网站进行升级维护,那么采集程序也要进行相应修改:速度,因为是远程调用,速度和在

  • 全面优化ASP应用程序的性能的方法

    ASP 本身并不是一种脚本语言,它只是提供了一种使镶嵌在 HTML 页面中的脚本程序得以运行的环境,而在ASP中最常用的脚本语言就是VBScript了.虽然ASP的脚本语言很简单,但是要想让一个ASP程序能够最优化的运行也不是一件简单的事情.  现在国内的网络带宽很有限,网络十分拥挤,如何使得自己的ASP应用程序能够快速的运行就成为了每一个ASP程序员的梦想了.那就跟随我来一同加速你的ASP程序吧!  一. 有关操作数据库的优化方法  我们使用ASP最主要的用途就是对数据库进行操作了,如何更快速

随机推荐