当前位置: 首页 > 图文教程 > 网络编程 > ASP > 厉害的用Asp获取Dll加密新闻内容

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 中的 厉害的用Asp获取Dll加密新闻内容


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

以下是代码:
复制代码 代码如下:

<%
on error resume next
Dim objXMLHTTP, xml
Set xml = Server.CreateObject("Microsoft.XMLHTTP")
xml.Open "GET", "http://chanye.finance.sina.com.cn/yj/2005-01-05/236914.shtml", False
xml.Send
tmpstr= xml.responseText
ep=clng(instr(1,tmpstr,"meta_data2"))+18
tmpstr=replace(tmpstr,vbcrlf,"")
tmpstr=replace(tmpstr,chr(9),"")
tmpstr=replace(tmpstr,chr(32),"")
mydata=mid(tmpstr,1,ep)
recfilen=server.MapPath("tempstr.txt")
set Astream=Server.CreateObject("Adodb.Stream")
Astream.type=2
Astream.Mode = 3
Astream.open
Astream.CharSet = "GB2312"
Astream.Position =0
Astream.Writetext mydata,1
Astream.SaveToFile recfilen,2
Astream.close
set Astream1=Server.CreateObject("Adodb.Stream")
Astream1.type=2
Astream1.Mode = 3
Astream1.CharSet = "GB2312"
Astream1.open
Astream1.LoadFromFile(recfilen)
Assp=Astream1.size
crttmpstr=Astream1.ReadText(Assp)
Astream1.close
sp1=clng(instr(1,crttmpstr,"meta_data1"))+16
ep1=clng(instr(sp1,crttmpstr,"NAME=meta_data2"))-7
lth1=ep1-sp1
newdata=mid(crttmpstr,sp1,lth1)
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
body{
font-size:12px
}
td{
font-size:12px
}
</style>
<title>用Asp获取Dll加密新闻内容</title>
<table width="540" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>更新时间:<%=now %>获取内容长度:<%=lth1 %>
字节
注意要使用http://127.0.0.1/Ip1HtmlView.dll你得先下载这个Dll文件,怎么下不用多说吧?!
<object id=HtmlIp1View codebase=http://127.0.0.1/Ip1HtmlView.dll#version=1,0,1,14 classid=CLSID:D854FC15-D3EA-496A-B2A0-A772A3DE1D09>
<param name="meta_data1" value="<%=newdata %>">
<param name="meta_data2" value="">
<param name="meta_data3" value="">
<param name="meta_data4" value="">
<param name="meta_data5" value="">
<param name="meta_data6" value="">
<param name="meta_data7" value="">
<param name="meta_data8" value="">
<param name="baseurl" value="111">
<param name="random" value="111">
</object></td>
</tr>
</table>
</body>
</html>
  对代码的说明:之所以要使用Adodb.Stream,是因为直接取得的内容始终达不到想要的效果,ep的位置始终要比预期的长很多,而我试过用instrb,midb等函数同样得到另人迷惑的结果,所以无奈之下出此下策,还望高手指点(哎哟,我怎么感觉酸不溜疚的哦)。当然只针对当前地点有效,其它的适当修改就行,甚至可以直接生成页面,并记录到数据库,成为自己的,用上面的东西加写数据库应该够了吧。
  要防止Dll被下载也不难,对于IIS来是说可以加个.dll的ISAPI扩展,可执行文件随便选个Dll文件动作限制为“空”(什么都行,反正乱输入就可以了。)。要是Dll不为外站工作嘛,就不敢乱说了。防止新闻被窃取对付象这样的窃取方法,检查request.ServerVariables("HTTP_REFERER")不是本站的哄出去就可以了。
  另外,由于本人大学没毕业,又是学打铁的,所以肯定有很多垃圾的地方,请不吝指正,谢谢。