第一步你的有自己的ip查询api或者其他平台查询api,如高德地图api
如果是用在自己网站请查看
👉批量调用高德地图api查询ip地址并返回数据,增加更多api
第二部直接上代码,根据自己需求自行修改
也可以参照这个代码改写👉php基于纯真IP数据库实现IP地址信息查询
下面是利用我自制的一个自己的api调用代码,
返回数据是纯文本格式。其他如高德地图有自己返回数据形式,也有各种php,java,curl等参考代码。可以自行配置
<?php
session_start(); // 启动会话,用于跟踪用户查询次数
// 获取用户的IP地址
$youip = $_SERVER['REMOTE_ADDR'];
$youdizhi = "未知"; // 初始化IP归属地
// 获取IP归属地
$url = 'https://你的网址api地址/api.php?ip='.$youip;
$youdizhi = file_get_contents($url);
// 处理用户要查询的IP地址和地理地址
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
if (isset($_POST["ip"])) {
// 检查用户查询次数是否超过限制
if (!isset($_SESSION['ip_queries'])) {
$_SESSION['ip_queries'] = 0;
}
if (++$_SESSION['ip_queries'] > 40) {
echo "您今天的查询次数已达上限";
exit;
}
$ip = $_POST["ip"];
// 去除前后空格
$ip = trim($ip);
// 使用正则表达式验证IP地址格式
$pattern = '/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/';
if (!preg_match($pattern, $ip)) {
echo "请输入正确IP地址"; // 输出错误消息 // 弹窗提示用户输入正确IP地址
}
$urlchaxun = 'https://你的网址api地址/api.php?ip='.$ip;
$cahxundizhi = file_get_contents($urlchaxun);
if ($cahxundizhi == "") {
$cahxundizhi = "无法查询";
}
}
}
?>
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="keywords" content="ip查询,ip地理位置"/>
<meta name="description" content="一号优惠·51福利网提供ip地理位置查询工具,IP网络查询,用ip查询地址和网络" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>IP地理位置查询</title>
<style>
body { font-family: Arial, sans-serif;
margin-left: auto;
margin-right: auto;
width: 80%; /* 可以根据你的需要调整宽度 */
}
h2 { margin-top: 20px; }
#result { margin-top: 20px; }
</style>
</head>
<body>
<h2>IP地址查询</h2>
<div id="yonghuip">
<p>你的IP: <?php echo $youip; ?> </p>
<p>IP归属:<?php echo $youdizhi; ?></p>
</div>
<div id="chaxunip">
<form id="ipForm" class="form-inline" method="POST">
<input type="text" class="form-control" name="ip" id="ip" placeholder="请输入查询IP地址">
<button type="submit" class="btn btn-primary">查询</button>
</form>
</div>
<?php
?>
<div id="result"><?php echo $ip."查询结果是:" .$cahxundizhi; ?></div>
</body>
</html>
模板地址👉ip查询