当前位置: 首页 > 图文教程 > 网络编程 > ASP > 一小偷类!!有兴趣的可以看看

ASP
asp生成三维饼图的函数
ASP下的简洁的多重查询的方法与函数 真不错
发一个ASP的ADODB类代码
A利用ASP小偷和Google实现在线翻译功能的代码
ASP类型网站结合动网论坛会员的方法
Asp下实现多表单域无组件文件上传的实例
asp制作中常用到的函数库集合
易心asp分页类 v1.0
asp中xmlhttp组件发包
检测是否为数字类型的asp代码
可以获得文件的文件名的asp函数
用asp实现访问远程计算机上MDB access数据库文件的方法
用ASP实现写IIS日志的代码
asp在IE浏览器中下载服务端上的各类文件的实现方法
asp汉字中文图片验证码的实现代码
asp WAP获取手机终端信息的一段代码
asp取得数组中的最大值的方法
用asp实现的截取指定格式字符串的代码
asp jmail发邮件 详细解析
ASP编程中连接数据库和数据库操作的常用代码

ASP 中的 一小偷类!!有兴趣的可以看看


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 81 ::
收藏到网摘: n/a

类代码 (cls.asp)
<%
Class clsThief
Private strUrl ' 偷取地址
Private strValue ' 偷取的内容,所有内容
Private strResult ' 偷取结果,可以具体某一块内容
Private flag ' 是否已经偷过
'-------初始化类--------'
Private Sub Class_Initialize()
strUrl=""
strValue=""
strResult=""
flag=false
End Sub
'------类结束-----------'
Private Sub Class_Terminate()
End Sub
'------初始化url属性----'
Public Property Let url(ByVal iurl)
strUrl = iurl
End Property
'------返回输出内容----'
public property get value
value=strValue
end property
public property get result
result=strResult
end property
'------------文字处理-----------'
private 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
'-------文字处理-------'
private Function Ichange(str)
Dim finalStr
Dim icharCode
Dim inextCode
For i = 1 To lenb(str)
icharCode = ascb(midb(str,i,1))
If icharCode < &H80 Then
finalStr = finalStr & chr(icharCode)
Else
inextCode = ascb(midb(str,i+1,1))
finalstr = finalstr & chr(clng(icharCode) * &H100 + cint(inextCode))
i = i + 1
End If
Next
Ichange = finalStr
End Function
'-------内容抓取--------'
Public sub Seize()
if strUrl<>"" then
dim iconnect
Set iconnect = CreateObject("Microsoft.XMLHTTP")
iconnect.open "GET",strUrl,false
iconnect.send()
strValue = BytesToBSTR(iconnect.responseBody,"GB2312")
flag=true
set iconnect = nothing
if err.number<>0 then err.Clear
else
response.write("请设置url的属性,即url地址")
end if
end sub
'------内容分析------'
Public sub Assay(head,headCusor,bot,botCusor)
if flag = false then call Seize()
if instr(strValue,head) and instr(strValue,bot) then
dim inum
inum = len(strValue)-instr(strValue,head)-len(head)-headCusor
strValue=right(strValue,inum)
inum = instr(strValue,bot)-1+botCusor
strResult=left(strValue,inum)
else
strResult = "没有匹配到相关记录,请检查开始标记代码是否唯一"
end if
end sub
'----替换空格及回车行----'
public sub Shift()
if flag= false then call Seize()
strResult=replace(replace(strResult , vbCr,""),vbLf,"")
end sub
'------对内容自定义替换----'
Public sub Change(oldStr,newStr)
if flag=false then call Seize()
strResult = replace(strResult,oldStr,newStr)
end sub
'--------自定义正则进行匹配---'
public sub pickByReg(patrn)
if isGet_= false then call Seize()
dim tempReg,match,matches,content
set tempReg=new RegExp
tempReg.IgnoreCase=true
tempReg.Global=true
tempReg.Pattern=patrn
set matches=tempReg.execute(value_)
for each match in matches
content=content&match.value&"<!--lkstar-->"
next
strValue=content
set matches=nothing
set tempReg=nothing
end sub
'--------如果有首页文件则转入-----------'
Public sub CheckFile(folderName,fileName)
dim url
Set fs=Server.CreateObject("Scripting.FileSystemObject")
if fs.FolderExists(server.MapPath("./")&"\"&folderName&"\"&fileName) then
set fs = nothing
url = folderName&"/"&fileName
response.write url
'response.redirect url
end if
end sub
'------生成文件------'
Public sub MakeFile(folderName,fileName)
Set fs=Server.CreateObject("Scripting.FileSystemObject")
if folderName<>"" then
if not fs.FolderExists(server.MapPath("/"&folderName&"/")) then
response.write "文件不存在"
fs.CreateFolder(folderName)
else
response.write "文件存在"
end if
end if
Set CrFi=fs.CreateTextFile(server.MapPath("./")&"\"&folderName&"\"&fileName)
Crfi.Writeline(strResult)
set CrFi=nothing
set fs=nothing
dim url
url = folderName&"/"&fileName
response.redirect url
end sub
'-------查看偷出的代码----'
public sub look()
dim tempstr
tempstr="<SCRIPT>function runEx(){var winEx2 = window.open("""", ""winEx2"", ""width=500,height=300,status=yes,menubar=no,scrollbars=yes,resizable=yes""); winEx2.document.open(""text/html"", ""replace""); winEx2.document.write(unescape(event.srcElement.parentElement.children[0].value)); winEx2.document.close(); }function saveFile(){var win=window.open('','','top=10000,left=10000');win.document.write(document.all.asdf.innerText);win.document.execCommand('SaveAs','','javascript.htm');win.close();}</SCRIPT><center><TEXTAREA id=asdf name=textfield rows=32 wrap=VIRTUAL cols=""120"">"&strResult&"</TEXTAREA><BR><BR><INPUT name=Button onclick=runEx() type=button value=""查看效果""> <INPUT name=Button onclick=asdf.select() type=button value=""全选""> <INPUT name=Button onclick=""asdf.value=''"" type=button value=""清空""> <INPUT onclick=saveFile(); type=button value=""保存代码""></center>"
response.Write(tempstr)
end sub
end class
%>
引用页(test.asp)
<!--#Include File="cls.asp"-->
<%
dim myThief,value
set myThief = new clsThief '实例化类
myThief.CheckFile "","index.html" '检测是否已经偷过并生成
myThief.url="http://www.sohu.com" '目标URL
myThief.Seize '开始偷取
myThief.Assay "<html>","-7","</html>","7" '剪切标记
myThief.Change "择优","浪人" '进行替换
value = myThief.result '最后得到的内容
myThief.MakeFile "","index.html" '生成文件
set myThief = nothing
'response.write value
%>