淘宝ip地址查询类分享(利用淘宝ip库)

淘宝公司提供了一个很好用的IP地理信息查询接口。在这里:http://ip.taobao.com/

以下这个taobaoIPQuery类将极大的简化相关的信息查询。

代码如下:

<?php

class taobaoIPQuery {

private $m_ip;
    private $m_content;

public function __construct($ip) {
        if (isset($ip)) {
            $this->m_ip = $ip;
        } else {
            $this->m_ip = "";
        }
        if (!empty($this->m_ip)) {
            $url_handle = curl_init();
            curl_setopt($url_handle, CURLOPT_URL, "http://ip.taobao.com/service/getIpInfo.php?ip=" . $this->m_ip);
            curl_setopt($url_handle, CURLOPT_RETURNTRANSFER, true);
            $this->m_content = curl_exec($url_handle);
            curl_close($url_handle);
            if ($this->m_content) {
                $this->m_content = json_decode($this->m_content);
                if ($this->m_content->{'code'} == 1) {
                    exit("query error!");
                }
            } else {
                exit("curl error!");
            }
        } else {
            exit("ip address must be not empty!");
        }
    }

public function get_region() {
        return $this->m_content->{'data'}->{'region'};
    }

public function get_isp() {
        return $this->m_content->{'data'}->{'isp'};
    }

public function get_country() {
        return $this->m_content->{'data'}->{'country'};
    }

public function get_city() {
        return $this->m_content->{'data'}->{'city'};
    }

}

调用很简单

代码如下:

$ip = $_SERVER["REMOTE_ADDR"];
$ipquery = new taobaoIPQuery($ip);
$region = $ipquery->get_region();
$country = $ipquery->get_country();
$city = $ipquery->get_city();

(0)

相关推荐

  • 淘宝IP地址库采集器c#代码

    采集器概貌,如下: 最近做一个项目,功能类似于CNZZ站长统计功能,要求显示Ip所在的省份市区/提供商等信息.网上的Ip纯真数据库,下载下来一看,发现没提供商内容,省市区都很少,居然有XXX网吧,哥瞬间倒了.没标准化.并且杂乱.还不连续的IP段.总体说来没达到要求. 在百度上找啊找,找到淘宝Ip地址库,官方介绍的相当诱人,准确率高,数据质量有保障,提供国家.省.市.县.运营商全方位信息,信息维度广,格式规范,但是限制每秒10次的访问(这个比较无语). 淘宝IP地址库,提供API    http:

  • 使用淘宝IP库获取用户ip地理位置

    淘宝公布了他们的IP库http://ip.taobao.com/,还有REST API接口,不过每个用户的访问频率需小于10qps,访问方    式:http://ip.taobao.com/service/getIpInfo.php?ip=[ip地址字串],返回内容以json格式的.具有IP查询,IP统计等功能.各大运营商拥有的IP数等信息.接下来介绍一下获取ip的实例: 复制代码 代码如下: <?php /** * 通过淘宝IP接口获取IP地理位置 * @param string $ip *

  • 淘宝ip地址查询类分享(利用淘宝ip库)

    淘宝公司提供了一个很好用的IP地理信息查询接口.在这里:http://ip.taobao.com/ 以下这个taobaoIPQuery类将极大的简化相关的信息查询. 复制代码 代码如下: <?php class taobaoIPQuery { private $m_ip;    private $m_content; public function __construct($ip) {        if (isset($ip)) {            $this->m_ip = $ip;

  • THinkPHP获取客户端IP与IP地址查询的方法

    本文实例讲述了THinkPHP获取客户端IP与IP地址查询的方法.分享给大家供大家参考,具体如下: TP 中获取客户端IP地址的系统公共函数是:function get_client_ip().返回值就是IP地址. 查询IP地址所在国家与地区的类文件是IpLocation.class.php,位于ThinkPHP\Lib\ORG\Net目录下.类名是IpLocation,方法是 public function getlocation($ip=''); 省略时查询客户端IP所在地址.返回的是一个数

  • C#使用有道ip地址查询接口方法实例详解

    本文实例讲述了C#使用有道ip地址查询接口方法.分享给大家供大家参考.具体实现方法如下: #region 读取http://www.yodao.com接口IP地址 /// <summary> /// 读取http://www.yodao.com接口IP地址 /// </summary> public static string GetstringIpAddress(string strIP)//strIP为IP { string sURL = "http://www.yo

  • 通过Web Service实现IP地址查询功能的示例

    实例01 实现一个简单的Web服务访问 本实例将实现IP地址查询接口服务,根据用户传入的IP地址返回IP所在的省.市.地区,实例中将会用到IP地址库用于查询信息,由于数据较多,所以读者可在光盘资源文件中直接附加数据库文件,这里将不再介绍导入数据的过程. 程序实现步骤如下: (1)打开Visual Studio 2017开发环境,然后依次点击文件→新建→项目,在弹出的新建项目对话框中选择"ASP.NET Web应用程序"选项,然后更改项目名称和项目路径,如图12.1所示. 图12.1 新

  • 微信小程序开发实现的IP地址查询功能示例

    本文实例讲述了微信小程序开发实现的IP地址查询功能.分享给大家供大家参考,具体如下: 微信小程序 开发 参考   https://mp.weixin.qq.com/debug/wxadoc/dev/component/ search.wxml <view class="container"> <view class="page-body"> <view class="weui-search-bar {{searchFocusC

  • C#根据IP地址查询所属地区实例详解

    ip-api.com接口(解析 json需要引入Newtonsoft.Json.dll ): /// <summary> /// 根据IP 获取物理地址 /// </summary> /// <param name="ip">Ip地址</param> /// <returns></returns> public static string GetIpAddress(string ip) { string url =

  • PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)

    如下所示: <?php $data = '254.254.254.254'; echo ip2long($data); function getIP() { if(getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) $ip = getenv("HTTP_CLIENT_IP"); elseif(getenv

  • 利用mysql的inet_aton()和inet_ntoa()函数存储IP地址的方法分享

    mysql> create table jackbillow (ip int unsigned, name char(1)); Query OK, 0 rows affected (0.02 sec) mysql> insert into jackbillow values(inet_aton('192.168.1.200'), 'A'), (inet_aton('200.100.30.241'), 'B'); Query OK, 2 rows affected (0.00 sec) Reco

  • php二分法在IP地址查询中的应用

    数据库大概存储几十万条IP记录,记录集如下: +----------+----------+------------+---------+---------+--------+--------+  | ip_begin | ip_end   | country_id | prov_id | city_id | isp_id | netbar |  +----------+----------+------------+---------+---------+--------+--------+ 

  • asp实现检查ip地址是否为内网或者私有ip地址的代码分享

    asp检查ip地址是否为私有/内网ip地址源代码. 内网/私有IP地址网段如下,还有127开头的回环地址: 10.0.0.0-10.255.255.255 172.16.0.0-172.31.255.255 192.168.0.0-192.168.255.255 实现代码: <% function IpToNumber(ip)'IP地址转为数字 arr=split(ip,".") IpToNumber=256*256*256*clng(arr(0))+256*256*clng(a

随机推荐