ASP编程:asp抓取页面
大家可以自己去看一看.可以说看得想呕吐.以前有次下了个动网来看.里面连基本内置函数的保护措施(函数没防御性)都没有.难怪经常补这个补那个了.可能现在.NET版会好点吧<%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。 运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。 Session:这个存储跟客户端会话过程的数据,默认20分钟失效 你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。 那么,ASP.Net有哪些改进呢? ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。 还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。 Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点) 掌握asp的特性而且一定要知道为什么。 跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
页:
[1]