建站经验

IP查询地理位置API接口/查询网站IP的所处位置

建站经验 51源码 2022-01-20 人阅读

代码很短,使用方便
已备注大部分代码含义
使用方法:将页面放入服务器,直接访问
直接访问将返回自身IP和地理位置
也可以如:https://www.58dir.cn/?ip=8.8.8.8
IP查询地理位置API接口/查询网站IP的所处位置-1

<?php
        echo '<html>
        <head>
        <title>IP地理位置接口</title></head></html>';
        //以上内容输出页面标题
if (!empty($_GET["ip"])){  //如果接口访问时带了IP参数,则查询参数中的地址
        $local=$_GET["ip"];
} else {
        $local=$_SERVER["REMOTE_ADDR"];  //否则查询自身本地IP地址
}
//下方代码为curl核心代码
        $url="https://ip.chinaz.com/".$local;  //访问地址
        $ch = curl_init($url);
        curl_setopt($ch, CURLOPT_HEADER, 1);  //使用自身协议头
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
        $response = curl_exec($ch);  //返回IP138的页面源码
        $response = preg_replace('/\s+/', '', $response);  //删除源码中所有的空格
        curl_close($ch);
//curl核心代码结束,下面代码为取出中间文本
        function get_em($input, $start, $end) {
        $substr = substr($input, strlen($start)+strpos($input, $start),
        (strlen($input) - strpos($input, $end))*(-1));
        return $substr;
}
        $string = $response;
        $start = '0lh45"><em>';
        $end = '</em><aclass';
        echo 'IP:'.$local.'<br>位置:'.get_em($string, $start, $end);  //输出查询IP和取出地理位置
 
?>
 
相关专题
API数据接口
API数据接口
2022-11-010

API是开发中必不可少的知识点。API的合理应用可以大大节约开发成本。它收集了关于API接口的信息,包括API接口、API代码和API源代码,帮助你更快地学习和使用API技术。

版权声明:文章搜集于网络,如有侵权请联系本站,转载请说明出处:https://www.51yma.cn/yunying/exp/292.html
文章来源: