展会信息港展会大全

asp动态页面防采集的新方法
来源:互联网   发布日期:2016-03-01 11:14:43   浏览:1751次  

导读:%@LANGUAGE=VBSCRIPT CODEPAGE=936% % Response.Write(Server.HTMLEncode(GetHttpPage(http://localhost/Index.asp教程,GB2312))) ============================== 函 数 名:GetHttpPage 作 用:获取页面源代码函数 参 数:网址HttpUrl ===================...

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>

<%

Response.Write(Server.HTMLEncode(GetHttpPage("http://localhost/Index.asp教程","GB2312")))

==============================

函 数 名:GetHttpPage

作 用:获取页面源代码函数

参 数:网址HttpUrl

==============================

Function GetHttpPage(HttpUrl,Code)

If IsNull(HttpUrl)=True Or HttpUrl="" Then

GetHttpPage="A站点维护中!"

Exit Function

End If

On Error Resume Next

Dim Http

Set Http=server.createobject("MSX"&"ML2.XML"&"HTTP")

Http.open "GET",HttpUrl,False

Http.Send()

If Http.Readystate<>4 then

Set Http=Nothing

GetHttpPage="B站点维护中!"

Exit function

End if

GetHttpPage=BytesToBSTR(Http.responseBody,Code)

Set Http=Nothing

If Err.number<>0 then

Err.Clear

GetHttpPage="C站点维护中!"

Exit function

End If

End Function

==============================

函 数 名:BytesToBstr

作 用:转换编码函数

参 数:字符串Body,编码Cset

==============================

Function BytesToBstr(Body,Cset)

Dim Objstream

Set Objstream = Server.CreateObject("ado"&"d"&"b.st"&"re"&"am")

Objstream.Type = 1

Objstream.Mode =3

Objstream.Open

Objstream.Write body

Objstream.Position = 0

Objstream.Type = 2

Objstream.Charset = Cset

BytesToBstr = Objstream.ReadText

Objstream.Close

set Objstream = nothing

End Function

%>

<%

Dim Conn,Rs,Sqlstr,Ip

Set Conn = Server.CreateObject("Adodb.Connection")

Set Rs=Server.Createobject("Adodb.RecordSet")

ConnStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("Data.mdb")

Conn.Open ConnStr

Ip=Request.ServerVariables("REMOTE_ADDR")

Sqlstr="Select * From [Ip2]"

Rs.Open Sqlstr,Conn,1,3

Application.Lock()

Rs.AddNew()

Rs("Ip2_Address")=Ip

Rs.Update()

Application.UnLock()

Rs.Close

%>

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>

<%

Dim Conn,Rs,Sqlstr,Ip,IpTime,IpTime2,NewUser

NewUser=0

Set Conn = Server.CreateObject("Adodb.Connection")

Set Rs=Server.Createobject("Adodb.RecordSet")

ConnStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("Data.mdb")

Conn.Open ConnStr

Ip=Request.ServerVariables("REMOTE_ADDR")

Sqlstr="Select * From [Ip1] Where Ip1_Address='"&Ip&"' Order By Ip1_Id Desc"

Rs.Open Sqlstr,Conn,1,3

If Rs.Eof Then

NewUser=1

Application.Lock()

Rs.AddNew()

Rs("Ip1_Address")=Ip

Rs.Update()

Application.UnLock()

Else

IpTime=Rs("Ip1_Time")

Application.Lock()

Rs.AddNew()

Rs("Ip1_Address")=Ip

Rs.Update()

Application.UnLock()

End If

Rs.Close

If NewUser=0 Then

Sqlstr="Select * From [Ip2] Where Ip2_Address='"&Ip&"' Order By Ip2_Id Desc"

Rs.Open Sqlstr,Conn,1,3

If Rs.Eof Then

Rs.Close

Response.Write("请勿采集!")

Response.End()

Else

IpTime2=Rs("Ip2_Time")

If DateDiff("s",IpTime2,IpTime)>10 Then

Rs.Close

Response.Write("http://www.3lian.com/教程提示你,请采集!")

Response.End()

End If

End If

Rs.Close

End If

%>

赞助本站

人工智能实验室

相关热词: 开发 编程 android

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港