用Asp获取Dll加密新闻内容

王朝html/css/js·作者佚名  2006-12-17
宽屏版  字体: |||超大  

用Asp获取Dll加密新闻内容

用Asp获取Dll加密新闻内容 首先感谢CSDN各位老大哥无私的奉贤,所以我才学到一些东西,学以致用。其次本人写的这篇东东,旨在研究,“对事不对人”。

以下是代码:

<%

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")不是本站的哄出去就可以了。

另外,由于本人大学没毕业,又是学打铁的,所以肯定有很多垃圾的地方,请不吝指正,谢谢。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有