IPDataInfo/ipdata-kotlin
GitHub: IPDataInfo/ipdata-kotlin
ipdata.info 官方 Kotlin SDK,提供 IP 地理定位、ASN 查询与威胁情报 API 的客户端封装。
Stars: 3 | Forks: 0
# IPData.info Kotlin SDK — 免费 IP 地理定位与威胁情报 API
[](https://jitpack.io/#IPDataInfo/ipdata-kotlin) [](../../actions/workflows/ci.yml) [](./LICENSE)
[**ipdata.info**](https://ipdata.info) 官方 Kotlin 客户端 —— 一个免费、
快速的 IP 地理定位、ASN 与威胁情报 API。查询任意 IPv4
或 IPv6 地址的国家、城市、
ASN、时区、货币和安全标志(代理/VPN/Tor/托管)。由 [ipdata.info](https://ipdata.info) 提供支持。
## 获取免费 API key
公共端点**免费 —— 每分钟 50 次请求,无需注册,无需 API key**。如需更高的
速率限制和批量查询,[**在
ipdata.info/register 创建免费 API key**](https://ipdata.info/register) 并在您的
[仪表盘](https://ipdata.info/dashboard) 中进行管理。
## 安装
JitPack 直接从 GitHub 托管此库 —— 无需单独的发布步骤。
添加 JitPack 仓库,然后添加依赖项。
### Gradle (Kotlin DSL)
```
repositories {
maven { url = uri("https://jitpack.io") }
}
dependencies {
implementation("com.github.IPDataInfo:ipdata-kotlin:0.1.0")
}
```
### Gradle (Groovy DSL)
```
repositories {
maven { url 'https://jitpack.io' }
}
dependencies {
implementation 'com.github.IPDataInfo:ipdata-kotlin:0.1.0'
}
```
### Maven
```
jitpack.io
https://jitpack.io
com.github.IPDataInfo
ipdata-kotlin
0.1.0
```
## 快速入门
```
import info.ipdata.sdk.IPDataClient
fun main() {
// Free tier: no key required, 50 req/min.
val client = IPDataClient()
val info = client.lookup("8.8.8.8")
println("${info.country} / AS${info.asn} (${info.isp})")
// With a key: higher limits + batch(), defaults to the pro host.
val proClient = IPDataClient(apiKey = "YOUR_API_KEY")
val results = proClient.batch(listOf("8.8.8.8", "1.1.1.1"))
}
```
## 方法
| 方法 | 返回内容 |
|--------|-----------------|
| `lookup(ip = "")` | 完整的地理定位记录(省略时为自身 IP) |
| `geo(ip)` | 地理位置子集(城市/地区/国家/纬度/经度/时区) |
| `asn(ip)` | 某个 IP 的 ASN + ISP/注册机构 |
| `batch(ips)` | 一次查询多个 IP(**需要 API key**) |
| `asnDetail(n)` | ASN 详情,包含前缀(原始 `JsonElement`) |
| `asnWhoisHistory(n)` | ASN whois 历史记录(原始 `JsonElement`) |
| `asnChanges()` | ASN 变更动态(原始 `JsonElement`) |
| `threatDomain/Hash/Url(x)` | 威胁情报查询(域名 / 文件哈希 / URL) |
所有非 2xx 响应都会抛出 `IpDataException(status, message)`。数据类
使用 `kotlinx.serialization` 进行注解,并会忽略未知/缺失的字段,
因此 SDK 能与未来的新 API 字段保持向前兼容。
完整响应 schema:[ipdata.info API 文档](https://ipdata.info/docs) ·
[SDK 契约](https://ipdata.info/docs/sdks)。
## 速率限制
- 免费版 (`ipdata.info`):每分钟 50 次请求,无需 API key。
- 付费版 (`pro.ipdata.info`):更高的限制 + `batch`,需使用
[API key](https://ipdata.info/register)。
## 其他 SDK
12 个官方 SDK —— 完整列表请见
[**ipdata.info/docs/sdks**](https://ipdata.info/docs/sdks):Python、Node.js、Go、
PHP、Java、Rust、.NET、Kotlin、Swift、Dart、Bash、Objective-C。
## 许可证
MIT © [ipdata.info](https://ipdata.info)
标签:API客户端, ASN查询, IP地理定位, Kotlin, 后台面板检测, 威胁情报, 开发者工具