🌍 IP 地址查询

查询您的 IP 地址和地理位置信息 | Powered by Cloudflare Workers

您的公网 IP 地址
正在获取...

📍 详细地理位置信息

正在加载详细信息...

🔍 IP 地址查询工具

输入任意 IP 地址,查询其地理位置和网络信息:

💡 快捷查询: 您也可以通过 URL 直接查询,例如: https://geo.hns.cool/?ip=8.8.8.8
💡 支持 IPv4 和 IPv6 地址

🔑 申请 API Key

填写以下信息以获取您的 App ID 和 API Key:

📖 关于本工具

这是一个基于 Cloudflare Workers 的 IP 地址查询工具,可以帮助您快速查询公网 IP 地址及详细的地理位置信息。同时提供地理位置感知的 JavaScript SDK,让开发者能够根据用户位置动态调整应用行为。

🎯 核心特性:
  • 快速查询您的公网 IP 地址(IPv4/IPv6)
  • 精准的地理位置信息(国家、城市、经纬度等)
  • ISP 和网络信息查询
  • 全球部署,超低延迟响应
  • 提供开发者 SDK 接口
⚠️ 使用限制: 当前版本对中国境内用户提供受限功能模式。

🚀 快速开始

1. 引入 SDK

在您的 HTML 页面中添加以下代码:

<script src="https://geo.hns.cool/sdk.js"></script>

2. 初始化 SDK

// SDK 加载后会自动创建 window.MySDK 对象
const result = MySDK.init({
  appId: 'your-app-id',
  apiKey: 'your-api-key'
});

if (result.success) {
  console.log('SDK 初始化成功!');
} else {
  console.error('初始化失败:', result.error);
}

3. 使用 SDK 功能

// 检查 SDK 是否可用
if (MySDK.available) {
  // 调用 API
  MySDK.call('/api/endpoint', { data: 'value' })
    .then(response => console.log(response))
    .catch(error => console.error(error));

  // 获取用户信息
  const userInfo = MySDK.getUserInfo();
  console.log('用户信息:', userInfo);
} else {
  console.log('SDK 当前不可用:', MySDK.message);
}

📚 API 文档

  • MySDK.version
    返回 SDK 版本号
  • MySDK.country
    返回用户所在国家代码(如 'US', 'CN', 'JP' 等)
  • MySDK.available
    返回 SDK 是否可用(boolean)
  • MySDK.init(config)
    初始化 SDK,传入配置对象
    返回:{ success: boolean, country: string, error?: string }
  • MySDK.call(endpoint, data)
    调用 API 接口
    参数:endpoint (string), data (object)
    返回:Promise
  • MySDK.getUserInfo()
    获取用户信息
    返回:{ country: string, timestamp: string }

🎮 实时演示

点击下面的按钮测试 SDK 功能:

点击上方按钮查看结果...

💡 完整示例

<!DOCTYPE html>
<html>
<head>
  <title>Geo SDK Demo</title>
  <script src="https://geo.hns.cool/sdk.js"></script>
</head>
<body>
  <h1>My App</h1>
  <div id="status"></div>

  <script>
    // 等待 SDK 加载
    window.addEventListener('load', function() {
      const statusDiv = document.getElementById('status');

      // 显示 SDK 状态
      statusDiv.innerHTML = `
        <p>SDK 版本: ${MySDK.version}</p>
        <p>您的位置: ${MySDK.country}</p>
        <p>SDK 状态: ${MySDK.available ? '✅ 可用' : '❌ 不可用'}</p>
      `;

      // 初始化 SDK
      if (MySDK.available) {
        MySDK.init({ appId: 'demo-app' });
      }
    });
  </script>
</body>
</html>