最近写了一个小程序,遇到要判断是否是国内IP,国内的自动跳到中文版,国外的自动跳到英文版。


搜索了很多资料写的都不是很理想。而且很多IP库,是可以查出具体地区的。而且也没有国内外之分。

好不容易找的有介绍国内的IP段,但没有现成的IP库。

没有办法,只好自己从txt文本里导到数据库。


我现在就把简单的判断代码及SQL Server的Ip库共享给大家,希望大家以后不用那么麻烦了!

<%

'Bijia 编写

'Blog:http://bijia.anyflex.cn/

'判断国内IP地址


Dim DBC,Conn

Set DBC = New DataBaseClass

Set Conn = DBC.OpenConnection()

Set DBC = Nothing

dim Rs,Sql



dim Ip,ip1,ipitem1


ip1=Request.ServerVariables("REMOTE_ADDR")


ipitem1=split(ip1,".")

Ip=ipitem1(0)*256*256*256+ipitem1(1)*256*256+ipitem1(2)*256+ipitem1(3) '将Ip换为256进制


 Set Rs = Server.CreateObject(G_FS_RS)

 Sql="Select * from ChinaIP where IpMin<" &Ip &" and IpMax>" &Ip

 Rs.open Sql,conn,1,3

 if Rs.EOF then

   response.redirect("index_en.html") '国外地址

 else

 response.redirect("index_cn.html") '国内地址

 end if


%>