php如何根据ip获取其实际地址(附示例)

来源:不言 发布时间:2019-01-16 15:19:53 阅读量:961

本篇文章给大家带来的内容是关于php如何根据ip获取其实际地址(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

在网上有很多的根据ip地址获取实际地址的教程

他们给了很多的现成接口,例:

新浪:'http://int.dpool.sina.com.cn/...' . $ip

淘宝:"http://ip.taobao.com/service/getIpInfo.php?ip=".$ip

等接口去根据ip地址获取实际地址的接口,但是这些接口十分的不稳定,这里我推荐百度地图的根据ip获取实际地址的接口,经过测试,速度杠杠的,而且十分的稳定

一:登录 http://lbsyun.baidu.com/index... 获取秘钥:

2856971242-5c3d83c0d667b_articlex.png

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

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

这里以普通IP定位为例:

3189300244-5c3d83e2a4f1e_articlex.png
根据教程编写根据ip获取实际地址代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

<?php

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;

}

$data_info=curl("http://api.map.baidu.com/location/ip?ip=218.94.147.138&ak=XXXXXXXXX");

//$data_info=file_get_contents("http://api.map.baidu.com/location/ip?ip=218.94.147.138&ak=XXXXXXXXX");

$data_info = json_decode($data_info,true); //数据转换

echo '<pre>';

print_r($data_info);

echo '</pre>';

输出结果为:

1487261061-5c3d83f9d8702_articlex.png


标签: PHP
分享:
评论:
你还没有登录,请先