利用百度地图API后台php获取访客位置

本文介绍了如何使用PHP结合百度地图API在后台获取访客位置信息。首先,需要在百度地图公众平台创建应用获取开发者密钥(AK)。然后,通过PHP获取访客真实IP,并构造HTTP GET请求调用IP定位API,最后解析返回的地理位置信息,包括省份和城市。
摘要由CSDN通过智能技术生成

在网页和小程序开发工作中,获取访客位置的需求非常常见,不仅仅局限于一些位置服务应用,在一般页面统计访客信息、表单填写页面获取访客资料等,均可能用到这一功能。在进行粗略的位置获取时,可以采取较为简单的IP定位解决方案。一般地,能够通过JavaScript构造请求在前端获取位置信息。但是,有的时候定位的过程不希望被直接察觉,因而可以采用后台获取的方式。下面以百度地图的IP定位API为例,讲解php页获取访客位置信息的过程。

在开发之前,首先需要拥有一个百度地图公众平台的开发者账号,并在控制台的创建应用栏目创建一个浏服务端的应用。创建应用的目的在于获得一个开发者密钥(AK),供后续获得IP请求得到位置时使用。
登陆百度地图公众平台,进入控制台创建应用页面后,即可看到创建应用栏目的内容。创建的过程中注意需要勾选“普通IP定位”的操作,配置如图1所示。
在进行应用调试的过程中,可以将IP白名单设置为0.0.0.0/0,但是在实际使用的过程中,为了防止自己的配额他人恶意占用,可将其设置为自己的服务器IP。
在这里插入图片描述

图1 创建应用

在完成应用的创建,点击提交按钮后,可以看到应用列表页面里出现了我们刚刚创建的应用,及其对应的AK,如图2所示。
在这里插入图片描述

图2 应用列表

接下来步入重头戏,基于php获取访客所在的位置。
开发的第一步,获取访客的IP。由于内网、反向代理等因素,直接使用$_SERVER[“REMOTE_ADDR”]方法获取到的IP可能不真实,可采用下面的函数对真实IP进行获取。

    function getIp()
    {
   

        if(!empty($_SERVER["HTTP_CLIENT_IP"]))
        {
   
            $cip = $_SERVER["HTTP_CLIENT_IP"];
        }
        else if(!empty($_SERVER["HTTP_X_FORWARDED_FOR"]))
        {
   
            $cip = $_SERVER["HTTP_X_FORWARDED_FOR"];
        }
        else if(!empty($_SERVER["REMOTE_ADDR
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值