利用IP地址获取用户的地理位置信息
最近酷乐在项目中遇到一个需要获取用户IP信息并查询出用户地理位置信息的需求,代码如下:
1.首先获取用户具体的IP信息。
<?php
function getClientIp(){if (getenv('HTTP_CLIENT_IP')) {$ip = getenv('HTTP_CLIENT_IP');}if (getenv('HTTP_X_REAL_IP')) {$ip = getenv('HTTP_X_REAL_IP');} elseif (getenv('HTTP_X_FORWARDED_FOR')) {$ip = getenv('HTTP_X_FORWARDED_FOR');$ips = explode(',', $ip);$ip = $ips[0];} elseif (getenv('REMOTE_ADDR')) {$ip = getenv('REMOTE_ADDR');} else {$ip = '0.0.0.0';}return $ip;
}
2.通过获取到的IP信息调用接口查询用户的地理位置。
<?php
function info($ip){$url = file_get_contents("http://ip.taobao.com/outGetIpInfo?ip=$ip&accessKey=alibaba-inc");$res1 = json_decode($url,true);$data =$res1;if ($data) {return $data['data'];} else {return 'unknown';}}
<?php
$userip=getClientIp(); //把获取IP函数赋值给userip变量
$info = info($userip);//引用info函数并把userip变量带入赋值给info变量。
利用IP地址获取用户的地理位置信息相关推荐
- 获取用户精准地理位置信息(百度地图)
获取用户精准地理位置信息步骤: 1.通过 navigator.geolocation.getCurrentPosition(showPosition, showError); 方法获取经纬度: 2.使 ...
- android根据ip获取查询省份,通过IP地址获取省份城市位置信息
private String mResult = null; private String mProvinceName; //省份 private String mChCityName; //城市 p ...
- 通过百度地图API获取用户所在地理位置信息
目录 1.密匙申请 2.源代码 3.结果展示 1.密匙申请 使用以下源码前,请先去百度地图开发平台申请密匙,前去申请:立即申请 2.源代码 此次定位代码是通过H5的方式实现的 <html> ...
- 引用Geoip实现由IP地址获取国家城市等信息
需求 当我们知道用户ip的情况下,需要统计用户所属的国家/省份/城市等信息. 这时可以用开源的Geoip2 避免重复造轮子. github地址:https://github.com/maxmind/G ...
- 手机端或PC端利用高德地图和腾讯地图获取用户当前位置信息
目录 一.简介 二.高德地图 三.腾讯地图 四.总结 一.简介 最近在项目中,有需要使用到获取用户当前地理位置信息的功能,获取当前用户位置保存到数据库中的场景,并且需要支持多种地图定位方式,我这里采用 ...
- java 根据IP地址获取地理位置
来源:http://www.ipplus360.com/tech/api/ 来源:http://blog.csdn.net/Cryhelyxx/article/details/40862101 精确查 ...
- 如何获取用户的地理位置-浏览器地理位置(Geolocation)API 简介
如何获取用户的地理位置-浏览器地理位置(Geolocation)API 简介 一.总结 一句话总结:Geolocation API(地理位置应用程序接口)提供了一个可以准确知道浏览器用户当前位置的方法 ...
- LBS:利用IP地址,获取地理位置
工作上的任务:依据客户的IP地址,获取其IP对应的经纬度,从而得到其地理位置.最好精确到市.区.镇.街道.门牌号.代码如下. 原始的表格文件如下所示:. logindate loginip custo ...
- 如何根据普通ip地址获取当前地理位置(利用百度API)
前言: 我们现在需要做的功能是根据ip地址获取当前地理位置,是Web 服务API,获取后的位置信息一般是城市级别的,不是很精确的那种获取. (1)开发者需要做的准备工作: 需要登录百度地图的api,点 ...
最新文章
- vue——组件之elementTable组件再封装
- android webview tel:,Android WebView“tel:”链接显示未找到网页
- sqlserver2000 mdf 文件导入
- oracle rman 用户,对Oracle数据库进行RMAN备份的Oracle数据库用户权限
- Tomcat学习笔记(一)
- Python《搞事情==蜂-鸟-图-片(一)》
- java将图片(jpg/bmp/png)转16位bmp(RBG565)
- 多通路fpga 通信_基于USB通信的FPGA高速数据采集系统研究
- 统一操作系统 UOS 官网正式上线;旷视回应“戴口罩人脸识别”;IntelliJ IDEA 2019.3.3 发布 | 极客头条...
- 软件测试工程师的工作总结
- 设置a标签下载文件的文件名
- cold start
- 计算机设备系统包括哪些,计算机硬件系统包括哪些
- 天池竞赛——工业蒸汽量预测(完整代码详细解析)
- 为什么raw图是绿色的?
- Photoshop滤镜给城市夜空添加满天星光
- 6个非常实用的 Python 代码块,适合收藏~
- Objective-c中Category的用法
- 一个故事轻松记忆常见252个英语字根(141~189)
- 遗传算法计算函数最小值(多维)