[小芮]分析用户的ip省份城市信息

jsp的代码

  
  
  
  
  1. String ipstr = request.getHeader("x-forwarded-for");          

  2. if(ipstr == null || ipstr.length() == 0 || "unknown".equalsIgnoreCase(ipstr)) {          

  3. ipstr = request.getHeader("Proxy-Client-IP");          

  4. }          

  5. if(ipstr == null || ipstr.length() == 0 || "unknown".equalsIgnoreCase(ipstr)) {          

  6. ipstr = request.getHeader("WL-Proxy-Client-IP");          

  7. }          

  8. if(ipstr == null || ipstr.length() == 0 || "unknown".equalsIgnoreCase(ipstr)) {          

  9. ipstr = request.getRemoteAddr();          

  10. }     

  11. IPSeeker ip=new IPSeeker("QQWry.Dat","e:/ip");     

  12. IPLocation local = ip.getIPLocation(ipstr);     

  13. //获得地区     

  14. String address = local.getCountry();     

  15. //获得类型     

  16. String type = local.getArea();  

 

 

用php来获取

获取ip地址后,访问www.ip138.com的提供的一个api取得所在城市

  
  
  
  
  1. function getRealIp() {   

  2.        if (!emptyempty($_SERVER['HTTP_CLIENT_IP'])) {  //check ip from share internet   

  3.          $ip=$_SERVER['HTTP_CLIENT_IP'];   

  4.        } elseif (!emptyempty($_SERVER['HTTP_X_FORWARDED_FOR'])) {  //to check ip is pass from proxy   

  5.          $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];   

  6.        } else {   

  7.          $ip=$_SERVER['REMOTE_ADDR'];   

  8.        }   

  9.        return $ip;   

  10.     }   

  11. function ips($ip){   

  12.     $str=file_get_contents("http://www.ip138.com/ips.asp?ip={$ip}&action=2");   

  13.     preg_match("/<ulclass=\"ul1\">(.*)<\/ul>/",$str,$m);   

  14.     $pstr=str_replace("</li>","",$m[1]);   

  15.     $arr=explode("<li>",$pstr);   

  16.     array_shift($arr);   

  17.     return $arr;   

 可以做个简单的负载均衡,根据地区转跳网页      

 

网易有道API接口

查询IP地址:http://www.youdao.com/smartresult-xml/search.s?type=ip&q=IP地址

举例:http://www.youdao.com/smartresult-xml/search.s?type=ip&q=115.156.238.114

 

我们根据这个可以蛋疼的分析一些apache,nginx,squid.....的日志

步骤也很简单,就是awk取出客户的ip,然后curl接口上,再取值,重定向到一个文件做记录,统计省份的时候,可以用wc -l统计下。

可以把这个ip换成你要查询的!!!!!!!!!!!

返回xml文本信息:

  1. <?xmlversion="1.0"encoding="gbk"?>

  2. <smartresult>

  3. <producttype="ip">

  4. <ip>115.156.238.114</ip>

  5. <location>湖北省武汉市 教育网</location>

  6. </product>

  7. </smartresult>

 

一些的页面的转跳参考 http://www.phpdo.net/index.php/php-get-city.html

你可能感兴趣的:(获得用户地区信息)