厲害的用Asp獲取Dll加密新聞內(nèi)容
更新時間:2007年03月05日 00:00:00 作者:
以下是代碼:
<%
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>更新時間:<%=now %>獲取內(nèi)容長度:<%=lth1 %>
字節(jié)
注意要使用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,是因?yàn)橹苯尤〉玫膬?nèi)容始終達(dá)不到想要的效果,ep的位置始終要比預(yù)期的長很多,而我試過用instrb,midb等函數(shù)同樣得到另人迷惑的結(jié)果,所以無奈之下出此下策,還望高手指點(diǎn)(哎喲,我怎么感覺酸不溜疚的哦)。當(dāng)然只針對當(dāng)前地點(diǎn)有效,其它的適當(dāng)修改就行,甚至可以直接生成頁面,并記錄到數(shù)據(jù)庫,成為自己的,用上面的東西加寫數(shù)據(jù)庫應(yīng)該夠了吧。
要防止Dll被下載也不難,對于IIS來是說可以加個.dll的ISAPI擴(kuò)展,可執(zhí)行文件隨便選個Dll文件動作限制為“空”(什么都行,反正亂輸入就可以了。)。要是Dll不為外站工作嘛,就不敢亂說了。防止新聞被竊取對付象這樣的竊取方法,檢查request.ServerVariables("HTTP_REFERER")不是本站的哄出去就可以了。
另外,由于本人大學(xué)沒畢業(yè),又是學(xué)打鐵的,所以肯定有很多垃圾的地方,請不吝指正,謝謝。
復(fù)制代碼 代碼如下:
<%
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>更新時間:<%=now %>獲取內(nèi)容長度:<%=lth1 %>
字節(jié)
注意要使用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>
要防止Dll被下載也不難,對于IIS來是說可以加個.dll的ISAPI擴(kuò)展,可執(zhí)行文件隨便選個Dll文件動作限制為“空”(什么都行,反正亂輸入就可以了。)。要是Dll不為外站工作嘛,就不敢亂說了。防止新聞被竊取對付象這樣的竊取方法,檢查request.ServerVariables("HTTP_REFERER")不是本站的哄出去就可以了。
另外,由于本人大學(xué)沒畢業(yè),又是學(xué)打鐵的,所以肯定有很多垃圾的地方,請不吝指正,謝謝。
相關(guān)文章
ASP中使用Set ors=oConn.Execute()時獲取記錄數(shù)的方法
在ASP中,如果你使用Set ors=oConn.Execute()來創(chuàng)建RecordSet對象,再使用RecordSet.RecordCount獲取記錄數(shù)時,你會發(fā)現(xiàn)它的值為-1,這時,我們可以使用GetRows方法來獲取記錄數(shù)。2010-12-12
ASP 相關(guān)文章或者相關(guān)產(chǎn)品
以下僅提供相關(guān)思路和關(guān)鍵代碼,并且只提供一種最簡單的算法實(shí)現(xiàn),稍復(fù)雜的本文不做介紹。2009-05-05
用ASP VBS xmlhttp adodbstream下載和保存圖片的代碼
用ASP VBS xmlhttp adodbstream下載和保存圖片的代碼...2007-03-03
asp IsValidEmail 驗(yàn)證郵箱地址函數(shù)(email)
驗(yàn)證郵箱很多在js客戶端驗(yàn)證了,但是那樣很容易被人破了,我們在服務(wù)器上用asp進(jìn)行驗(yàn)證的話就應(yīng)該沒有問題了。2010-05-05

