网络编程
位置:首页>> 网络编程>> Asp编程>> 纯ASP(VBscript)写的全球IP地址搜索程序(2)

纯ASP(VBscript)写的全球IP地址搜索程序(2)

  发布时间:2007-09-27 13:28:00 

标签:ip,搜索,asp


re1.global=false 
   re1.Ignorecase=false 
   checkiplocal=re1.test(checkstring) 
   set re1=nothing 
  end function 
    function checkip_remote(checkstring) 
   dim iplength ’IP字符串的长度 
   dim locations ’"."字符出现的位置 
   iplength=Len(checksting) 
   locations=Instr(checkstring,".") ’从左到右检索“.”符号在IP字符串中第一次出现的位置 
   ’以“.”字符将IP分割为4段 
   locations2=iplength-locations 
   ipstring1=Left(checkstring,locations) 
   ipstring2=Right(checkstring,locations2) 
  end function 
  ipinfo_local="您的IP是内部网IP!" 
   ipinfo_remote="外部网IP!" 
   getip=checkip_trueip() 
   currentip=checkiplocal(getip) ’调用checkiplocal()函数对得到的IP进行检查,确定是内部网地址还是外部网地址 
   ’if currentip=true then’测试代码 
   ’response.Write(ipinfo_local) 
   if currentip=true then ’为假 
   response.Write(ipinfo_local)’说明为内部网IP 
   else 
   ’进行转换 
   ’以下为循环提取并按位补0将IP分为4段 
   locations=checkip_locations(getip)’取得“.”在第一次分割前在IP中第一次出现的位置 
   iplength=Len(getip) ’取得客户端IP的长度 
   divide_locations=iplength-locations ’取得将客户端IP从右向左数到IP从左往右数第一个“.”的位置 
   ipstr1=Trim(Replace(Left(getip,locations),".","")) 
   ipstr2=Right(getip,divide_locations)’取得第一次分割后客户端右边剩下的数值 
   ’如果IP分为4段后每一段不足3位则补0 
   if Len(ipstr1)="2" then ipstr1="0"&ipstr1 ’长度为二,不足三位,在字符串之前补一个0 
   if Len(ipstr1)="3" then ipstr1=ipstr1 ’据上类推 
   if Len(ipstr1)="1" then ipstr1="00"&ipstr1 ’这时的ipstr1为IP的第一段 
   
   ipstr12=checkip_right(ipstr2) ’这时的ipstr12为IP的第二段 
   ipstr122=checkip_left(ipstr2) 
   ipstr13=checkip_right(ipstr122) ’这时的ipstr13为IP的第三段 
   ipstr14=checkip_left(ipstr122) ’这时的ipstr14为IP的第四段 
   if Len(ipstr14)="1" then ipstr14="00"&ipstr14 ’对得到的IP的第四段进行补0,此步骤可不要 
   if Len(ipstr14)="2" then ipstr14="0"&ipstr14 
   if Len(ipstr14)="3" then ipstr14=ipstr14 
   
   ’response.write ipstr1&"<br>" ’写出IP分割后的每段的值 
   ’response.write ipstr12&"<br>" 
   ’response.write ipstr13&"<br>" 
   ’response.write ipstr14 
   allip=ipstr1&"."&ipstr12&"."&ipstr13&"."&ipstr14 
   finishgetip=left(allip,11) 
   dim ipaddr,iplocal,sqls 
   ’以下SQL语句为提取startip字段左边11位值是否等于客户端IP的左边的11位的值 
   sqls="SELECT country_state,areauser FROM ip WHERE Left(startip,11)=’"&finishgetip&"’" 
   set rs=getaccessrecordset("#worldip.mdb",sqls,"1","1") ’得到查询值 
   if rs.eof then ’如果没找到与客户端IP相等的值 
   showip=checkip_trueip() ’把客户端IP赋予showip 
   ipaddr="未知地区" ’国家或省份 
   iplocal="未知地点" ’具体的地方 
   else 
   showip=checkip_trueip() 
   ipaddr=rs("country_state") 
   iplocal=rs("areauser") 
   end if 
   ’response.write("您的IP是:"&showip&" ") 
   ’response.write("您来自:"&ipaddr&" ") 
   ’response.write("您是:"&iplocal) 
   rs.close 
   set rs=nothing 
   %> 
   <%="您的IP是:"&showip&" "%> 
   <%="您来自:"&ipaddr&" "%> 
   <%="您是:"&iplocal&"<br>"%> 


如果IP地址有错误,请与我联系,或下载数据库更正,谢谢!


<table width="760" border="0" cellspacing="0" cellpadding="0"> 
   <tr> 
   <td width="203"><a href="Script56.rar">下载Script56.CHM</a>-->1.34M</td> 
   <td width="548">简介:Microsoft的帮助文档,有VBscript语法,JScript语法,正则表达式  </td> 
   <td width="3"> </td> 
   <td width="6"> </td> 
   </tr> 
   <tr> 
   <td> </td> 
   <td> </td> 
   <td> </td> 
   <td> </td> 
   </tr> 
   <tr> 
   <td><a href="ipsearch.rar">下载ASP全球IP地址搜索程序</a></td> 
   <td>ASP+ACCESS    大小401K;格式rar</td> 
   <td> </td> 
   <td> </td> 
   </tr> 
   <tr> 
   <td> </td> 
   <td><font color="#000099"> </font> <font color="#0000FF"> </font></td> 
   <td> </td> 
   <td> </td> 
   </tr> 
   <tr> 
   <td>如果你的IP是未知,如果你愿意,请提交你的所在地:</td> 
   <td> 
   <form name="form1" method="post" action="postip.asp"> 
   <table width="100%" border="1" cellspacing="0" cellpadding="0"> 
   <tr> 
   <td width="21%"> 省份: </td> 
   <td width="44%"> 
   <input type="text" name="country_state"> 
   </td> 
   <td width="35%"> </td> 
   </tr> 
   <tr> 
   <td width="21%">具体所在地或是什么网的用户:</td> 
   <td width="44%"> 
   <input type="text" name="areauser"> 
   </td> 
   <td width="35%">例如:北京清华大学或北京网通用户</td> 
   </tr> 
   <tr> 
   <td width="21%"> </td> 
   <td width="44%"> 
   <input type="hidden" name="startip" value="<%=finishgetip&".000"%>"> 
   <input type="hidden" name="endip" value="<%=finishgetip&".255"%>"> 
   </td> 
   <td width="35%"> </td> 
   </tr> 
   <tr> 
   <td width="21%"> </td> 
   <td width="44%"> 
   <input type="submit" name="Submit" value="提交"> 
   </td> 
   <td width="35%"> </td> 
   </tr> 
   </table> 
   </form> 
   </td> 
   <td> </td> 
   <td> </td> 
   </tr> 
  </table> 
   <% 
   end if 
   %> 
  </body> 
  </html>

 
  


0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com