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

ASP
asp实现取得数组中的最大值的代码
asp 将日期格式化为需要的格式
asp 下产生任意位数随机密码的代码
asp下返回以千分位显示数字格式化的数值
asp重定向页面的方法总结
asp下去除数组中重复的项的方法
asp下实现 重新排序数字数组的代码
asp 验证输入网址是否有效并可以访问 与正则验证输入网址
asp验证Ip格式的函数
asp实现生成由数字,大写字母,小写字母指定位数的随机数
asp 格式化sql中的like字符串
asp 实现显示所有的服务器变量值的函数
asp 取得用户真实IP,对代理地址仍然有效的函数
asp 通用数据库连接过程函数
asp 字符串截取函数
asp下实现格式化文件大小以MB显示的函数
asp 下用正则表达式检测邮箱格式的函数
asp 实现检测字符串是否为纯字母和数字组合的函数
asp代码实现检测组件是否安装的函数
asp通过JMAIL实现通用发送函数

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 53 ::
收藏到网摘: 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
%>