zoukankan      html  css  js  c++  java
  • PHP获取用户IP所在地的信息

    简介:这是PHP获取用户IP所在地的信息的详细页面,介绍了和php,有关的知识、技巧、经验,和一些php源码等。

    class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=340860' scrolling='no'>
    最近项目中用到了获取用户IP所在地的信息,主要是为了从IP去判断用户所在的城市,现在的城市信息基本上有分几种
    一种是用ID编号来关联城市的,还有使用缩写的代码来关联城市的。
    我们通过IP去获取所在的用户的  城市的详细信息,比如运行以下的结果得到的是 "福建省福州市 电信"
    可以得到用户的 省市及所使用的网络接入的信息
    这里调用的是百度的开放查询接口,通过网页的方式去查询然后从返回的结果中去匹配我们所需要的信息,效果还行,代码在下面,还是能凑合着用的。
    var_dump(getAddress('202.101.98.54','福州'));
    
    function getAddress($ip=null,$address='') {
            $url = "http://open.baidu.com/ipsearch/s?wd={$ip}&tn=baiduip";
            $res = mb_convert_encoding(HttpRequest($url), 'UTF-8', 'GBK');
    	//var_dump($res);
            if ( preg_match('#来自:<b>(.+)</b>#Ui', $res, $m) ) {
                    if (is_int(strpos($m[1], $address))) {
                            return $m[1];
                    }
            }
    }
    
    
    function HttpRequest($url, $data=array()) {
                    $ch = curl_init();
                    if (is_array($data) && $data) {
                            $formdata = http_build_query($data);
                            curl_setopt($ch, CURLOPT_POST, true);
                            curl_setopt($ch, CURLOPT_POSTFIELDS, $formdata);
                    }
                    curl_setopt($ch, CURLOPT_URL, $url);
                    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
                    curl_setopt($ch, CURLOPT_TIMEOUT, 2);
                    return curl_exec($ch);
    }
    

    爱J2EE关注Java迈克尔杰克逊视频站JSON在线工具

    http://biancheng.dnbcw.info/php/340860.html pageNo:7
  • 相关阅读:
    数组(Array)
    js数据类型自动转化规律
    ES6-12.Symbol
    彻底搞懂prototype和__proto__
    API测试利器——Postman(1. 安装和启动)
    全国各城市的代码邮编sql(mysql版)
    SQL执行的顺序
    jQuery $.each用法
    使用maven工具对maven项目进行打包所出现的问题
    关于Notepad++中用正则表达式匹配中文的问题
  • 原文地址:https://www.cnblogs.com/ooooo/p/2245215.html
Copyright © 2011-2022 走看看