加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

VB.NET 根据IP地址返回IP所在地的方法

发布时间:2020-12-16 22:25:02 所属栏目:大数据 来源:网络整理
导读:#Region "读取http:" ''' summary ''' 读取http://www.yodao.com接口IP地址 ''' /summary Public Shared Function GetstringIpAddress(strIP As String) As String 'strIP为IP Dim sURL As String = "http://www.youdao.com/smartresult-xml/search.s?type=i
#Region "读取http:"
    ''' <summary>
    ''' 读取http://www.yodao.com接口IP地址
    ''' </summary>
    Public Shared Function GetstringIpAddress(strIP As String) As String
        'strIP为IP
        Dim sURL As String = "http://www.youdao.com/smartresult-xml/search.s?type=ip&q=" & strIP & ""
        'youdao的URL
        Dim stringIpAddress As String = ""
        Using read As XmlReader = XmlReader.Create(sURL)
            '获取youdao返回的xml格式文件内容
            While read.Read()
                Select Case read.NodeType
                    Case XmlNodeType.Text
                        '取xml格式文件当中的文本内容
                        If String.Format("{0}",read.Value).ToString().Trim() <> strIP Then
                            'youdao返回的xml格式文件内容一个是IP,另一个是IP地址,如果不是IP那么就是IP地址
                            '赋值
                            stringIpAddress = String.Format("{0}",read.Value).ToString().Trim()
                        End If
                        Exit Select
                        'other
                End Select
            End While
        End Using
        Return stringIpAddress
    End Function
    '返回的xml数据格式
    '  <?xml version="1.0" encoding="gbk" ?> 
    '- <smartresult>
    '- <product type="ip">
    '  <ip>60.223.233.226</ip> 
    '  <location>山西省朔州市 网通</location> 
    '  </product>
    '  </smartresult>
#End Region

  • 设计蜂巢IP地址查询接口:http://www.hujuntao.com/api/ip/ip.php
  • 腾讯IP地址查询接口:http://fw.qq.com/ipaddress
  • 新浪IP地址查询接口:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js
  • 搜狐IP地址查询接口:http://pv.sohu.com/cityjson
  • 谷歌IP地址查询接口:http://j.maxmind.com/app/geoip.js
  • 有道IP地址查询接口:http://www.youdao.com/smartresult-xml/search.s
  • 1616 IP地址查询接口:http://w.1616.net/chaxun/iptolocal.php
  • 126 http://ip.ws.126.net/ipquery
  • hao123 http://app.hao123.com/ipquery/getcity.php?rtype=2

设计蜂巢接口调用方法

API请求地址 : http://www.hujuntao.com/api/ip/ip.php?参数

参数说明:

  • IP : IP地址 可选
  • format : 输出格式 json 可选 默认为JS

JSON调用示例:
请求地址:http://www.hujuntao.com/api/ip/ip.php?callback=jQuery17107324279078748077_1327024991339&format=json&_=1327024991363

{
“ip”: “117.89.35.58″,
“province”: “u6c5fu82cf”,
“city”: “u5357u4eac”
}

腾讯接口调用方法

 
 
  1. <script src="http://fw.qq.com/ipaddress"></script>
  2. type"text/javascript">
  3. //反回格式如下:
  4. //var IPData = new Array("117.89.35.98","","江苏省","南京市");
  5. console.log(IPData[0]+','+23]) //117.89.35.98,江苏省,南京市
  6. </script>

该方法已经不可用,访问http://fw.qq.com/ipaddre显示“The page you are looking for is temporarily unavailable.
Please try again later.”。腾讯对Referer做了判断,虽然可以通过PHP伪造Referer,但是实际测试中获得的是服务器的IP地址而不是客户端的IP地址。我们一起鄙视一下腾讯。╭∩╮(︶︿︶)╭∩╮

新浪接口调用方法

"http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js"//format参数设置返回格式 js/json
  
  
  • //ip 要查询IP 可选
  • //反回格式如下:
  • //var remote_ip_info = {"ret":1,"start":"117.89.35.0","end":"117.89.35.255","country":"u4e2du56fd","province":"u6c5fu82cf","city":"u5357u4eac","district":"u767du4e0b","isp":"u7535u4fe1","type":"","desc":""};
  • (remote_ip_info["country"+"province""省"+"city""市")//中国,南京市
  • </script>
  • 搜狐接口调用方法

    "http://pv.sohu.com/cityjson?ie=utf-8"//默认为GBK可通过ie参数设置编码
      
      
  • returnCitySN"cip""cname"]) 谷歌接口调用方法

    据说是谷歌的,不知道是不是真的。

    "http://j.maxmind.com/app/geoip.js"geoip_country_name()+geoip_region_namegeoip_city())//China,Jiangsu,Nanjing
  • 有道接口调用方法

    调用接口示例:http://www.youdao.com/smartresult-xml/search.s?type=ip&q=123.233.157.9

    返回XML数据

    <?xml version="1.0" encoding="gbk"?>
    <smartresult>
    <product type="ip">
    <ip>123.233.157.9</ip>
    <location>山东省济南市 网通</location>
    </product>
    </smartresult>

    或者

    http://www.youdao.com/smartresult-xml/search.s?jsFlag=true&keyfrom=163.com&event=fYodaoCallBack&type=ip&q=192.168.1.1

    返回JSON数据

    fYodaoCallBack(1,{‘product’:'ip’,'ip’:’192.168.1.1′,’location’:'局域网 对方和您在同一内部网’},”);

    (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    • 推荐文章
        热点阅读