Skip to content

📍 什么是 ipapi.co-skills

🖥 命令行优先

本项目同时提供 CLI 命令行工具ipapi,AI Agent 友好,默认 JSON 输出)和 Go SDK 库。本页及后续"库指南"面向想在 Go 程序中嵌入的开发者。如果你只想在终端查 IP,见 CLI 快速开始

一个用 Go 语言编写的 ipapi.co IP 地理位置查询 API 客户端库。

一句话介绍

ipapi.co-skillscyberspacesec 团队开源的 Go SDK,它把 ipapi.co 的 REST API 封装成符合 Go 习惯的、类型安全的客户端库,让你在 Go 项目中以最少的样板代码完成 IP 地理位置查询。

🧩 它是什么

ipapi.co 是一个提供 IP 地理定位(IP geolocation)的在线服务。给定一个 IPv4 或 IPv6 地址,它能返回该地址关联的:

  • 🏙 城市、地区、邮政编码
  • 🌍 国家(名称、代码、ISO3、首都、顶级域)
  • 🧭 经纬度坐标
  • ⏰ 时区、UTC 偏移
  • 💱 货币、语言
  • 📡 ASN、组织、主机名
  • 📊 国家面积、人口

ipapi.co-skills 把这些能力包装成一个 Go 包 github.com/cyberspacesec/ipapi.co-skills/pkg/ipapi,提供:

能力说明
Client线程安全的 HTTP 客户端,可复用
6 个查询方法覆盖「指定 IP / 客户端 IP」×「完整信息 / 单字段」×「解析 / 原始」
5 种格式JSON / JSONP / XML / CSV / YAML
函数式选项WithAPIKeyWithCustomHTTPClient
错误体系10 个哨兵错误 + 结构化 APIError

🎨 一图抵千言

下面这张流程图展示了 SDK 从「输入 IP」到「输出结构化信息」的完整能力链路:用户调用 Client 的查询方法 → applyAuth 注入鉴权 → doRequest 发起 HTTP 请求 → handleError 处理错误 → 返回地理 / 网络 / ASN 三类结果。

🎨 一图抵千言

上面是能力链路,下面换一个时序视角,看一次完整调用中调用方、SDK 客户端、ipapi.co 服务三者之间的消息往返顺序与异步边界。

🎯 谁适合使用

  • 📦 需要在 Go 后端做 IP 定位的 Web 服务
  • 🛡 需要识别访问者地理位置的安全/风控系统
  • 📊 需要按国家/城市做统计分析的数据管道
  • 🌐 需要根据用户时区/语言本地化内容的 CDN 或网关
  • 🔍 需要快速查 ASN、组织归属的网络运维工具

📦 包信息

go
import "github.com/cyberspacesec/ipapi.co-skills/pkg/ipapi"
  • 模块路径github.com/cyberspacesec/ipapi.co-skills
  • Go 版本1.23.4+
  • 许可证:MIT
  • 当前状态:生产就绪,100% 单元测试覆盖

🗺 文档导航

你想……去哪看
5 分钟跑起来快速开始
理解它解决什么问题它解决什么问题
理解内部原理工作原理
查某个方法签名API 参考
看可运行的示例示例

下一步

基于 MIT 许可证发布