用Asp获取Dll加密新闻内容
[入库:2005年8月18日] [更新:2007年3月25日]
| 首先感谢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")不是本站的哄出去就可以了。 |
另外,由于本人大学没毕业,又是学打铁的,所以肯定有很多垃圾的地方,请不吝指正,谢谢。 |
本文关键:用Asp获取Dll加密新闻内容
本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)