IPDataInfo/ipdata-swift
GitHub: IPDataInfo/ipdata-swift
ipdata.info 的官方 Swift SDK,封装了 IP 地理定位、ASN 查询和威胁情报 API,供 Apple 平台开发者通过 SwiftPM 快速集成。
Stars: 3 | Forks: 0
# IPData.info Swift SDK — 免费 IP 地理定位与威胁情报 API
[](https://swift.org/package-manager/) [](../../actions/workflows/ci.yml) [](./LICENSE)
[**ipdata.info**](https://ipdata.info) 的官方 Swift 客户端 — 一个免费、
快速的 IP 地理定位、ASN 和威胁情报 API。查询任何 IPv4
或 IPv6 地址的国家、城市、
ASN、时区、货币和安全标志(代理/VPN/Tor/托管)。由 [ipdata.info](https://ipdata.info) 提供支持。
## 获取免费 API key
公共端点**免费 — 每分钟 50 次请求,无需注册,无需 key**。如需更高的
速率限制和批量查询,[**在
ipdata.info/register 创建免费的 API key**](https://ipdata.info/register),并在您的
[仪表盘](https://ipdata.info/dashboard) 中进行管理。
## 安装
将该 package 添加到您的 `Package.swift` 中:
```
.package(url: "https://github.com/IPDataInfo/ipdata-swift", from: "0.1.0")
```
或者在 Xcode 中:**File → Add Package Dependencies…** 并输入
`https://github.com/IPDataInfo/ipdata-swift`。
## 快速开始
```
import IPData
let client = IPDataClient() // free tier; or IPDataClient(apiKey: "KEY")
let info = try await client.lookup("8.8.8.8")
print(info.city ?? "", info.country ?? "", info.asnOrg ?? "")
// Mountain View United States Google LLC
```
## 方法
| 方法 | 返回内容 |
|--------|-----------------|
| `lookup(ip?)` | 完整的地理定位记录(省略时为自身 IP) |
| `geo(ip)` | 地理位置子集(城市/地区/国家/纬度/经度/时区) |
| `asn(ip)` | IP 的 ASN + ISP/注册机构 |
| `batch(ips)` | 一次查询多个 IP(**需要 API key**) |
| `asnDetail(n)` | ASN 详情(包含前缀) |
| `asnWhoisHistory(n)` | ASN whois 历史记录 |
| `asnChanges()` | ASN 变更动态 |
| `threatDomain/threatHash/threatURL(x)` | 威胁情报查询(域名 / 文件哈希 / URL) |
完整响应 schema:[ipdata.info API 文档](https://ipdata.info/docs) ·
[SDK 契约](https://ipdata.info/docs/sdks)。
## 配置
```
let client = IPDataClient(
apiKey: "KEY", // sent as X-Api-Key; switches to pro.ipdata.info
baseURL: URL(string: "https://ipdata.info"),
timeout: 10,
session: customURLSession // optional, e.g. for testing
)
```
非 2xx 响应产生的错误将作为 `IPDataError` 抛出,其中包含 `status` 和
`message`。
## 速率限制
- 免费版(`ipdata.info`):每分钟 50 次请求,无需 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)
标签:ASN查询, IP地理定位, Swift, 威胁情报, 开发者工具