明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

用Asp取得Dll加密新聞內(nèi)容

[摘要]以下是代碼:<%on error resume next Dim objXMLHTTP, xml Set xml = Server.CreateObject("Microsoft.XMLHTTP") xml.Open "GET", "...

以下是代碼:
<%
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加密新聞內(nèi)容</title>
<table width="540" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td>更新時(shí)間:<%=now  %>獲取內(nèi)容長(zhǎng)度:<%=lth1  %>
      字節(jié)
注意要使用http://127.0.0.1/Ip1HtmlView.dll你得先下載這個(gè)Dll文件,怎么下不用多說(shuō)吧?!
      <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>
 
  對(duì)代碼的說(shuō)明:之所以要使用Adodb.Stream,是因?yàn)橹苯尤〉玫膬?nèi)容始終達(dá)不到想要的效果,ep的位置始終要比預(yù)期的長(zhǎng)很多,而我試過(guò)用instrb,midb等函數(shù)同樣得到另人迷惑的結(jié)果,所以無(wú)奈之下出此下策,還望高手指點(diǎn)(哎喲,我怎么感覺(jué)酸不溜疚的哦)。當(dāng)然只針對(duì)當(dāng)前地點(diǎn)有效,其它的適當(dāng)修改就行,甚至可以直接生成頁(yè)面,并記錄到數(shù)據(jù)庫(kù),成為自己的,用上面的東西加寫(xiě)數(shù)據(jù)庫(kù)應(yīng)該夠了吧。
  要防止Dll被下載也不難,對(duì)于IIS來(lái)是說(shuō)可以加個(gè).dll的ISAPI擴(kuò)展,可執(zhí)行文件隨便選個(gè)Dll文件動(dòng)作限制為“空”(什么都行,反正亂輸入就可以了。)。要是Dll不為外站工作嘛,就不敢亂說(shuō)了。防止新聞被竊取對(duì)付象這樣的竊取方法,檢查request.ServerVariables("HTTP_REFERER")不是本站的哄出去就可以了。
  另外,由于本人大學(xué)沒(méi)畢業(yè),又是學(xué)打鐵的,所以肯定有很多垃圾的地方,請(qǐng)不吝指正,謝謝。