通过IP获取实际地址位置
未知
2023-04-14 11:14:28
0
问题描述:
     已有参数IP,想通过IP获取位置。

解决办法:
一:登录http://lbsyun.baidu.com/index.php?title=webapi/ip-api获取秘钥:

填写相关的信息获取到一串秘钥

二:根据百度地图提供的接口地址获取实际地址信息

这里以普通IP定位为例:


三,在php中的代码


第一种格式:
function getIpAddress($ip){
        $data_info=curl("http://api.map.baidu.com/location/ip?ip=".$ip."&ak=xxxxxxxxxxxxx");
        $data_info = json_decode($data_info,true); //数据转换
        if(!isset($data_info['content'])){

			$data_info['content']['address']='内网地址127.0.0.1';

		}
        return $data_info['content']['address'];
    }
    function curl($url) {     
        $ch = curl_init();     
        curl_setopt($ch, CURLOPT_URL, $url);     
        //参数为1表示传输数据,为0表示直接输出显示。     
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);     //参数为0表示不带头文件,为1表示带头文件     
        curl_setopt($ch, CURLOPT_HEADER,0);     
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);     
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,false);     
        $output = curl_exec($ch);     
        curl_close($ch);     
        return $output;
    }
第二种格式:
function get_client_dizhi($ip){
	$url = 'https://api.map.baidu.com/location/ip?ak=3mOsomnzOmq0bsOqPGgx390MsHpWNfra&coor=bd09ll&ip='.$ip; 
	 
	$ch = curl_init();
	if(substr($url,0,5)=='https'){
	    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
	    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);  // 从证书中检查SSL加密算法是否存在
	}
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($ch, CURLOPT_URL, $url);
	$response = curl_exec($ch);
	curl_close($ch);
	// $a='{"address":"CN|\u6e56\u5357\u7701|\u5cb3\u9633\u5e02|None|None|100|100","content":{"address":"\u6e56\u5357\u7701\u5cb3\u9633\u5e02","address_detail":{"adcode":"430626","city":"\u5cb3\u9633\u5e02","city_code":"220","district":"","province":"\u6e56\u5357\u7701","street":"","street_number":""},"point":{"x":"113.13548942","y":"29.36317829"}},"status":0}';
	$resArr=json_decode($response,true);
	if($resArr['status']!=0){
		return $resArr['message'];
	}
	// return $resArr;
  	return $resArr['content']['address']; 

}
/*
* 获取用户真实IP地址
*/
http://www.jinhuajuanke.cn/PHP/342.html

相关内容

通过IP获取实际地址位置
问题描述: 已有参数IP,想通过IP获取位置。 解决办法: fun...
2023-04-14 11:14:28

热门资讯

tp5 jquery判断手机端... application--common.php中添加如下代码 //函数作用是判断用户打开的是手机端还...
Laravel 5.5 .No... 创建了新的laravel项目后, 运行提示:No application encryption ke...
php 打印date函数出现错... 问题描述: 我使用的是phpstudy,在练习时间函数的时候,打印出现在的时间,date(Y-m-d...
生成随机字符唯一标识符guid... /** * @param $length * @return string * 生成随机字符串 */...
layui缩略图 div class=layui-form-item label class=layui-form-l...
php函数substr_rep... php函数substr_replace从某个位置替换或删除或插入字符串
Laravel 引入自定义类库... 强烈建议引入的类 都是含有命名空间的,这样使用起来就不会出现重名的情况。!!当然,没有命名空间也可以...
object json转化为数... //调用api 程序,通知商户订单异常 20200314 public function callt...
Laravel 查看SQL操作... 方法一:临时打印操作记录 DB::connection()-enableQueryLog(); # ...
php银行开放平台接口:pfx... 问题描述: 对接易通银行,他们的服务开放平台是java开发,而我的是php,现在需要php版本的SD...