服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服务器之家 - 编程语言 - ASP教程 - 如何写ASP入库小偷程序

如何写ASP入库小偷程序

2019-10-14 11:29asp代码网 ASP教程

现在网上流行的小偷程序比较多,有新闻类小偷,音乐小偷,下载小偷,那么它们是如何做的呢,下面我来做个简单介绍,希望对各位站长有所帮助。 (一)原理 小偷程序实际上是通过了XML中的XMLHTTP组件调用其它网站上的网页。

现在网上流行的小偷程序比较多,有新闻类小偷,音乐小偷,下载小偷,那么它们是如何做的呢,下面我来做个简单介绍,希望对各位站长有所帮助。 
(一)原理 
小偷程序实际上是通过了XML中的XMLHTTP组件调用其它网站上的网页。比如新闻小偷程序,很多都是调用了sina的新闻网页,并且对其中的html进行了一些替换,同时对广告也进行了过滤。用小偷程序的优点有:无须维护网站,因为小偷程序中的数据来自其他网站,它将随着该网站的更新而更新;可以节省服务器资源,一般小偷程序就几个文件,所有网页内容都是来自其他网站。缺点有:不稳定,如果目标网站出错,程序也会出错,而且,如果目标网站进行升级维护,那么小偷程序也要进行相应修改;速度,因为是远程调用,速度和在本地服务器上读取数据比起来,肯定要慢一些。 
(二)事例 
下面就XMLHTTP在ASP中的应用做个简单说明 

代码: <% 
'常用函数 
'1、输入url目标网页地址,返回值getHTTPPage是目标网页的html代码 
function getHTTPPage(url) 
dim Http 
set Http=server.createobject("MSXML2.XMLHTTP" 
Http.open "GET",url,false 
Http.send() 
if Http.readystate<>4 then 
exit function 
end if 
getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312" 
set http=nothing 
if err.number<>0 then err.Clear 
end function 
'2、转换乱玛,直接用xmlhttp调用有中文字符的网页得到的将是乱玛,可以通过adodb.stream组件进行转换 
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 
'下面试着调用http://www.998w.net/class/的html内容 
Dim Url,Html 
Url="http://www.998w.net/class/" 
Html = getHTTPPage(Url) 
Response.write Html 
%> 
------------------------------------------------------ 
代码: 
'代码用XMLHTTP读取远程文件 
<% 
Response.Buffer = True 
Dim objXMLHTTP, xml 
Set xml = Server.CreateObject("Microsoft.XMLHTTP" 
xml.Open "GET", "http://www.998w.net/down/998w1.0.rar", False 
xml.Send 
' Add a header to give it a file name: 
Response.AddHeader "Content-Disposition", _ 
"attachment;filename=mitchell-pres.zip" 
' Specify the content type to tell the browser what to do: 
Response.ContentType = "application/zip" 
' Binarywrite the bytes to the browser 
Response.BinaryWrite xml.responseBody 
Set xml = Nothing 
%>  

延伸 · 阅读

精彩推荐