zoukankan      html  css  js  c++  java
  • 获取Ip 的地域等信息接口-实例

    今天项目要用到 查询访问网站用户的IP 
    然后网上查询了 资料还很多 不过有些已经失效了 在这总结下 
    腾讯,pconline 的API已经失效 不能使用 
    淘宝的IP接口地址: http://ip.taobao.com/instructions.php 
    腾讯的IP地址API接口地址:http://fw.qq.com/ipaddress 
    新浪的IP地址查询接口:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js 
    新浪多地域测试方法:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=218.192.3.42 
    搜狐IP地址查询接口(默认GBK):http://pv.sohu.com/cityjson 
    搜狐IP地址查询接口(可设置编码):http://pv.sohu.com/cityjson?ie=utf-8 
    搜狐另外的IP地址查询接口:http://txt.go.sohu.com/ip/soip 
    这个上面大多都容易查到 
    还有一个 API比较全面 
    http://whois.pconline.com.cn 这个很强大 也比较详细 
    但是这个有问题 他JSON格式 属于回调  本地运行可以 放到项目里面就报错403 
    最终我也没有选择这个来使用 

        /**
         * 获取ip 接口
         * @access public 以淘宝的接口为实例
         */
        public function get_ip_info($ip) {
            $curl = curl_init(); //这是curl的handle
            //下面是设置curl参数
            $url = "http://ip.taobao.com/service/getIpInfo.php?ip=$ip";
            curl_setopt($curl, CURLOPT_URL, $url);
            curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
            curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 2);
            curl_setopt($curl, CURLOPT_HEADER, 0); //don't show header
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //相当关键,这句话是让curl_exec($ch)返回的结果可以进行赋值给其他的变量进行,json的数据操作,如果没有这句话,则curl返回的数据不可以进行人为的去操作(如json_decode等格式操作)
            curl_setopt($curl, CURLOPT_TIMEOUT, 2);
            //这个就是超时时间了
            $data = curl_exec($curl);
            return json_decode($data, true);
        }
  • 相关阅读:
    MongoDB笔记
    mysql笔记
    08-下载中间件
    ubuntu1804安装pycharm2018.3.x
    02-CSS基础
    14-eval 函数
    13-文件
    12-模块和包
    11-异常
    有关dir和 unittest
  • 原文地址:https://www.cnblogs.com/timelesszhuang/p/5044465.html
Copyright © 2011-2022 走看看