仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1945|回复: 19
打印 上一主题 下一主题

[学习教程] ASP网页编程之浅谈ASP主动收集法式及入库

[复制链接]
愤怒的大鸟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:30:16 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于Windows NT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失;收集|法式   比来网下流行着一些收集法式,更多人拿着这些器材在网上叫卖,良多不太懂的人看着那些法式眼羡,其实假如你懂一些ASP,懂得主动收集法式的道理后,你会感到完成主动化也是那末的复杂.
道理及长处:经由过程XML中的XMLHTTP组件挪用其它网站上的网页,然后批量截取或交换原本的信息使其转化成变量后再逐一贮存到数据库中。其次要的长处即是无需再手工添加大批的信息了,可以指定对某一个站信息的截取停止批量录入,到达省时省力的目标。与其纯真的ASP小偷法式分歧的是:它已不再依附其方针网站。
复杂事例:
1<%
2'声明获得方针信息的函数,经由过程XML组件停止完成。
3Function GetURL(url)
4Set Retrieval = CreateObject("Microsoft.XMLHTTP")
5With Retrieval
6.Open "GET", url, False
7.Send
8GetURL = bytes2bstr(.responsebody)
9'对获得信息停止验证,假如信息长度小于100则申明截取掉败
10if len(.responsebody)<100 then
11response.write "获得近程文件 <a href="&url&" target=_blank>"&url&"</a> 掉败。"
12response.end
13end if
14
15End With
16Set Retrieval = Nothing
17End Function
18' 二进制转字符串,不然会呈现乱码的!
19function bytes2bstr(vin)
20strreturn = ""
21for i = 1 to lenb(vin)
22thischarcode = ascb(midb(vin,i,1))
23if thischarcode < &h80 then
24strreturn = strreturn & chr(thischarcode)
25else
26nextcharcode = ascb(midb(vin,i+1,1))
27strreturn = strreturn & chr(clng(thischarcode) * &h100 + cint(nextcharcode))
28i = i + 1
29end if
30next
31bytes2bstr = strreturn
32end function
33'声明截取的格局,从Start入手下手截取,到Last为停止
34Function GetKey(HTML,Start,Last)
35filearray=split(HTML,Start)
36filearray2=split(filearray(1),Last)
37GetKey=filearray2(0)
38End Function
39
40Dim Softid,Url,Html,Title
41
42'获得要取页面的ID
43
44SoftId=Request("Id")
45
46  Url="http://www3.skycn.com/soft/"&SoftId&".html"
47
48  Html = GetURL(Url)
49
50'以截取天空软件的软件名为例子
51
52  Title = GetKey(Html,"<font color='#004FC6' size='3'>","</font></b></td></tr>")
53
54'翻开数据库,筹办入库
55
56dim connstr,conn,rs,sql
57
58connstr="DBQ="+server.mappath("db1.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
59
60set conn=server.createobject("ADODB.CONNECTION")
61
62conn.open connstr
63
64set rs=server.createobject("adodb.recordset")
65
66sql="select [列名] from [表名] where [列名]='"&Title&"'"
67
68rs.open sql,conn,3,3
69
70if rs.eof and rs.bof then
71
72rs("列名")=Title
73
74rs.update
75
76set rs=nothing
77
78end if
79
80set rs=nothing
81
82Response.Write"收集终了!"
83
84%>问题是他们究竟是喜欢他们是使用软件时,速度快还是速度慢好.(当然在3秒以内).无论是他们输入资料时,查找资料时,分析资料时.
愤怒的大鸟 该用户已被删除
沙发
 楼主| 发表于 2015-4-16 07:52:05 | 显示全部楼层
虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-14 11:24

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表