╋艺 镇╋╋网站网络|程序语言|Flash╋┣◇网站建设&Web语言 → ASP获取IP得到地理位置


  共有20305人关注过本帖树形打印复制链接

主题:ASP获取IP得到地理位置

美女呀,离线,留言给我吧!
admin
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 司令 亲民勋章
等级:管理员 帖子:3027 积分:27521 威望:0 精华:7 注册:2003/12/30 16:34:32
ASP获取IP得到地理位置  发帖心情 Post By:2011/8/8 10:17:50 [只看该作者]

共两个文件,getip.asp和index.asp,具体代码如下:

<!--------------getip.asp内容开始---------------------->
<%
On Error Resume Next
function getHTTPPage(url)
    dim Http
    set Http=server.createobject("MSXML2.XMLHTTP")
    Http.open "GET",url,false
    Http.send()
    if Http.readystate<>4 then
        exit function
    end if
    getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312")
    set http=nothing
    if err.number<>0 then err.Clear
end function
'==================================================
'函数名:GetBody
'作  用:截取字符串
'参  数:ConStr ------将要截取的字符串
'参  数:StartStr ------开始字符串
'参  数:OverStr ------结束字符串
'参  数:IncluL ------是否包含StartStr
'参  数:IncluR ------是否包含OverStr
'==================================================
Function GetBody(ConStr,StartStr,OverStr,IncluL,IncluR)
   If C or C" or IsNull(StartStr)=True Or OverStr="" or IsNull(OverStr)=True Then
      GetBody="$False$"
      Exit Function
   End If
   Dim ConStrTemp
   Dim Start,Over
   ConStrTemp=Lcase(ConStr)
   StartStr=Lcase(StartStr)
   OverStr=Lcase(OverStr)
   Start = InStrB(1, ConStrTemp, StartStr, vbBinaryCompare)
   'response.write Start&"<br>"&IncluL&"<br>"
   'response.end
   If Start<=0 then
      GetBody="$False$"
      Exit Function
   Else
      If IncluL=False Then
         Start=Start+LenB(StartStr)
      End If
   End If
   Over=InStrB(Start,ConStrTemp,OverStr,vbBinaryCompare)
   If Over<=0 Or Over<=Start then
      GetBody="$False$"
      Exit Function
   Else
      If IncluR=True Then
         Over=Over+LenB(OverStr)
      End If
   End If
  
   GetBody=MidB(ConStr,Start,Over-Start)
End Function
Function BytesToBstr(body,Cset)
        dim objstream
        set objstream = Server.CreateObject("adodb.stream")
        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
%>
<%
ip=Request.ServerVariables("REMOTE_ADDR")

cc=split(ip,".")  
ip2=cc(0)&"."&cc(1)&"."&cc(2)&".***"  

url="http://www.ip138.com/ips.asp?ip="&ip&""                 '要获取的网页地址
html=getHTTPPage(url)  

dlwz=getBody(html,"本站主数据:","</li>",false,false)

if dlwz="$False$" then
dlwz="未知区域"
end if


'ip              是完全的ip                                       如:210.42.159.168
'ip2             用ASP将IP地址最后一段的数字替换成***             如:210.42.159.***
'dlwz            获取ip的地理位置                                 如:湖北省武汉市中南民族大学
%>
<!--------------getip.asp内容结束---------------------->


<!--------------index.asp显示页开始---------------------->
<!--#include file="getip.asp"-->
<%=ip%><br>
<%=ip2%><br>
<%=dlwz%><br /><br><br><br><br><br><br>

<!--------------index.asp显示页结束---------------------->

使用说明
ip 是完整真实的ip                            如:210.42.159.168
ip2 用ASP将IP地址最后一段的数字替换成***   如:210.42.159.***
dlwz 获取ip的地理位置 如:湖北省武汉市中南民族大学
调用时只需要要你要调用的页面中加入<!--#include file="getip.asp"-->中即可,有以上的ip,ip2,dlwz三个字段供你使用


http://jxhgt.blog.163.com/blog/static/13484013420103291014101/



  
“艺镇”官方站:www.zyzsky.com QQ群:1221854  回到顶部