根据IP判断所在地区

转载 2012年03月24日 18:44:44

进来因为ip跳转问题,很是头疼,国内的用的IP库多数是QQ纯真数据库,进来多发生不太准确的事情,所以找寻其他数据库,发现一家maxmind的国外网站提供这类数据库,就找来代码试试.

<?php
include("geoipcity.inc"); 
include("geoipregionvars.php");
// 打开数据文件
$gi = geoip_open("GeoLiteCity.dat",GEOIP_STANDARD);
$ip='61.167.115.194';

$record = geoip_record_by_addr($gi, $ip);   

//关闭数据库 
geoip_close($gi); 
 
//如果获取了相关数据 
if($record) 

    echo 'loadGeoInfo('. 
               '"'.   $_GET['q']   .'",'.         
//原始查询信息 
               '"'.   $ip   .'",'.                      //被查IP 
               '"'.   $record->country_code  
.'",'.    //国家代码(两位) 
               '"'.   $record->country_code3 
.'",'.    //国家代码(三位) 
               '"'.   $record->country_name  
.'",'.    //国家名称 
               '"'.   $GEOIP_REGION_NAME
[$record->country_code] [$record->region]   .'",'.
//地区名称 
               '"'.   $record->city   .'",'.      
//城市名称 
               $record->latitude   .','.                //纬度 
               $record->longitude   .')';               //经度 
              
}                                              
//如果数据库中不存在相关数据 
else 

    echo 'alert("The Information for '.$ip.' is not available now!"); '; 

?>

 

 

其中需要三个文件geoip.inc,geoipregionvars.php,geoipcity.inc 这三个文件都可以通过http://geolite.maxmind.com/download/geoip/api/php/这个地址下载到,还需要一个他们的数据库文件GeoLiteCity.dat 下载地址是http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz 

这样这段程序就能运行起来了,获得的city是中文的拼音

如果你想换成中文的话,有一个google的api可以做到http://maps.google.com/maps/api/geocode/xml?address=Harbin&sensor=false 其中的“Harbin”就是所提供给他的city的中文拼音名称,这样google会返回一个xml数据,其中就有这个城市的中文名称,还有其他相关信息,想要什么就从这个xml中取吧。

只可惜最后测试结果发现这个库也不是很准确。哎,还是没解决这个问题。

 

java根据IP获取用户所在地

package com.iptext.commons; import java.io.BufferedReader; import java.io.DataOutputStream; import j...
  • huiwenjie168
  • huiwenjie168
  • 2013年11月23日 12:35
  • 21269

js根据IP地址判断城市

js根据IP地址判断城市 1 var province = '' ; 2 var city = '' ; 3 jQuery.getScript("http://int.dpool.sin...
  • LanSeTianKong12
  • LanSeTianKong12
  • 2017年04月06日 13:29
  • 1448

Java 通过Request请求获取IP地址对应省份、城市

Java 通过Request请求获取IP地址对应省份、城市项目需要将不同省份的用户,展示不同内容,所以需要通过Request请求获取IP地址, 然后通过IP获取IP对应省份。这里的操作步骤一共有步: ...
  • chwshuang
  • chwshuang
  • 2017年05月14日 13:13
  • 2778

根据IP判断所在地区

  • 2012年03月24日 19:00
  • 8.33MB
  • 下载

根据IP地址判断客户端属于哪个国家或地区

获取客户端ip地址,并通过ip地址判断客户属于哪个国家或地区
  • wangyi201212
  • wangyi201212
  • 2015年01月15日 16:26
  • 1093

PHP根据IP判断地区

  • u012000660
  • u012000660
  • 2016年12月05日 15:44
  • 496

百度地图demo,根据ip展示地图显示地区,并在地图上高亮显示

需求提出:使用百度地图展示用户注册时的地区并高亮显示。 方案设计:根据用户注册时获取用户的ip地址,根据ip地址获取经纬度,再根据经纬度显示在地图上展示,并高亮。 解决需求: 1.获取用户注册i...
  • wagnteng
  • wagnteng
  • 2017年02月07日 16:08
  • 3247

从Apnic提取各地区ip段及自治域号

什么是APNIC区域互联网注册管理机构(Regional Internet Registry,RIR),是管理世界上某特定地区Internet资源的组织。Internet资源包括IP地址(包含IPv4...
  • u010371211
  • u010371211
  • 2017年07月17日 20:31
  • 693

利用纯真数据库根据IP定位地区

IP地址是每台计算机的唯一标识,也是每台计算机通信所必备的。因此,根据IP地址定位地址也是一个很常见的功能。...
  • Aleyns
  • Aleyns
  • 2017年12月20日 09:54
  • 78

使用新浪的接口获取用户当前IP的位置地点身份城市地区

首先,新浪的接口地址为http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js 你可以试着直接在浏览器中输入,他就返回一个json串,...
  • AKmumu2010
  • AKmumu2010
  • 2013年01月23日 16:06
  • 1146
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:根据IP判断所在地区
举报原因:
原因补充:

(最多只允许输入30个字)