厉害的用Asp获取Dll加密新闻内容

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

<% 
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) 
%> 
 
 
 
 
用Asp获取Dll加密新闻内容 
 
   
    更新时间:<%=now  %>获取内容长度:<%=lth1  %> 
      字节 
注意要使用http://127.0.0.1/Ip1HtmlView.dll你得先下载这个Dll文件,怎么下不用多说吧?! 
       
        "> 
         
         
         
         
         
         
         
         
         
       
   
 
 
   
  对代码的说明:之所以要使用Adodb.Stream,是因为直接取得的内容始终达不到想要的效果,ep的位置始终要比预期的长很多,而我试过用instrb,midb等函数同样得到另人迷惑的结果,所以无奈之下出此下策,还望高手指点(哎哟,我怎么感觉酸不溜疚的哦)。当然只针对当前地点有效,其它的适当修改就行,甚至可以直接生成页面,并记录到数据库,成为自己的,用上面的东西加写数据库应该够了吧。 
  要防止Dll被下载也不难,对于IIS来是说可以加个.dll的ISAPI扩展,可执行文件随便选个Dll文件动作限制为“空”(什么都行,反正乱输入就可以了。)。要是Dll不为外站工作嘛,就不敢乱说了。防止新闻被窃取对付象这样的窃取方法,检查request.ServerVariables("HTTP_REFERER")不是本站的哄出去就可以了。 
  另外,由于本人大学没毕业,又是学打铁的,所以肯定有很多垃圾的地方,请不吝指正,谢谢。

你可能感兴趣的:(厉害的用Asp获取Dll加密新闻内容)