仓酷云

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

[学习教程] ASP编程:asp抓取页面

[复制链接]
小女巫 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:03:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
大家可以自己去看一看.可以说看得想呕吐.以前有次下了个动网来看.里面连基本内置函数的保护措施(函数没防御性)都没有.难怪经常补这个补那个了.可能现在.NET版会好点吧
  1. <%iftrim(request.form("url"))""thendimVBody:VBody=GetResStr(trim(request.form("url")))dimRes:Res=VBodydimcode:code=GetCode(VBody,"charset={0,}([^]+){0,}""")endif%><html><head><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"><title>抓取页面</title></head><bodystyle="font-size:12px;margin:50px0020px;"><formname="geturl"action="ss.asp"method="post">请输出%20name="type=textvalue="<%=trim(request.form("P>><<input>url?))%>?size="60"url?></form>页面编码:<%=code%><br/><textareacols=150rows=30><%=Res%></textarea></body></html><%functionGetResStr(URL)dimResBody,ResStr,PageCodeSetHttp=server.createobject("msxml2.serverxmlhttp.3.0")Http.setTimeouts10000,10000,10000,10000Http.open"GET",URL,FalseHttp.Send()IfHttp.Readystate=4ThenIfHttp.status=200ThenResStr=http.responseTextResBody=http.responseBodyPageCode=replace(GetCode(ResStr,"charset=([^""].*)"""),chr(13)&chr(10),"")GetResStr=BytesToBstr(http.responseBody,trim(PageCode))EndIfEndIfEndFunction函数名:BytesToBstr感化:转换二进制数据为字符参数:Body-二进制数据,Cset-文本编码体例FunctionBytesToBstr(Body,Cset)DimObjstreamSetObjstream=Server.CreateObject("adodb.stream")objstream.Type=1objstream.Mode=3objstream.Openobjstream.Writebodyobjstream.Position=0objstream.Type=2objstream.Charset=CsetBytesToBstr=objstream.ReadTextobjstream.Closesetobjstream=nothingEndFunction函数名:GetCode感化:转换二进制为字符参数:str-待查询字符串,regstr-正则表达式FunctionGetCode(str,regstr)DimRegsetReg=newRegExpReg.IgnoreCase=TrueReg.MultiLine=TrueReg.Pattern=regstrSetCols=Reg.Execute(str)str=Cols(0).SubMatches(0)GetCode=strendfunction%>
复制代码
本文链接http://www.cxybl.com/html/wlbc/Asp/20120613/29966.htmlASP一般认为只能运行在IIS上,正如前面所提到的,这并不是十分正确,事实上,ASP也能运行在Apache上。ApacheASP可在任意Apache服务器上运行有限的ASP功能,所需做的,只需打开mod_perl。
冷月葬花魂 该用户已被删除
沙发
发表于 2015-1-17 15:57:09 | 只看该作者
运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。
兰色精灵 该用户已被删除
板凳
发表于 2015-1-20 21:39:37 来自手机 | 只看该作者
Session:这个存储跟客户端会话过程的数据,默认20分钟失效
admin 该用户已被删除
地板
发表于 2015-1-30 05:47:17 | 只看该作者
你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
若相依 该用户已被删除
5#
发表于 2015-2-6 07:40:21 | 只看该作者
那么,ASP.Net有哪些改进呢?
谁可相欹 该用户已被删除
6#
发表于 2015-2-15 17:28:47 | 只看该作者
ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。
第二个灵魂 该用户已被删除
7#
发表于 2015-3-4 12:18:48 | 只看该作者
还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。
因胸联盟 该用户已被删除
8#
发表于 2015-3-11 19:34:20 | 只看该作者
Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)
9#
发表于 2015-3-27 20:08:38 | 只看该作者
掌握asp的特性而且一定要知道为什么。
乐观 该用户已被删除
10#
发表于 2015-3-27 20:08:44 | 只看该作者
跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-6-9 15:34

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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