IPDataInfo/ipdata-objc

GitHub: IPDataInfo/ipdata-objc

ipdata.info 的官方 Objective-C 客户端 SDK,为 Apple 平台开发者提供 IP 地理定位、ASN 查询与威胁情报 API 接入能力。

Stars: 3 | Forks: 0

# IPData.info Objective-C SDK — 免费 IP 地理定位与威胁情报 API [![CocoaPods](https://img.shields.io/cocoapods/v/IPData.svg)](https://cocoapods.org/pods/IPData) [![CI](https://raw.githubusercontent.com/IPDataInfo/ipdata-objc/main/../../actions/workflows/ci.yml/badge.svg)](../../actions/workflows/ci.yml) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](./LICENSE) [**ipdata.info**](https://ipdata.info) 的官方 Objective-C 客户端 — 一个免费、 快速的 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) 中进行管理。 ## 安装 ### CocoaPods ``` pod 'IPData' ``` ### Swift Package Manager ``` .package(url: "https://github.com/IPDataInfo/ipdata-objc.git", from: "0.1.0") ``` ## 快速入门 ``` #import IPDataClient *client = [[IPDataClient alloc] init]; // free tier [client lookup:@"8.8.8.8" completion:^(id result, NSError *error) { if (error) { NSLog(@"error: %@", error); return; } NSDictionary *info = result; NSLog(@"%@ %@ ASN %@", info[@"city"], info[@"country"], info[@"asn"]); }]; ``` ## 方法 | 方法 | 返回内容 | |--------|-----------------| | `lookup:completion:` | 完整的地理定位记录(如果 `ip` 为 `nil`/空,则返回自身 IP) | | `geo:completion:` | 地理信息子集(城市/地区/国家/纬度/经度/时区) | | `asn:completion:` | 某个 IP 的 ASN + ISP/注册机构 | | `batchLookup:completion:` | 同时查询多个 IP(**需要 API key**) | | `asnDetail:completion:` | ASN 详情,包含前缀 | | `asnWhoisHistory:completion:` | ASN whois 历史记录 | | `asnChangesWithCompletion:` | ASN 变更动态 | | `threatDomain:/threatHash:/threatURL:completion:` | 威胁情报查询(域名 / 文件哈希 / URL) | 完整响应 schema:[ipdata.info API 文档](https://ipdata.info/docs) · [SDK 列表](https://ipdata.info/docs/sdks)。 ## 配置 ``` IPDataClient *client = [[IPDataClient alloc] initWithAPIKey:@"YOUR_KEY" // sent as X-Api-Key; switches to pro.ipdata.info baseURL:nil // or override, e.g. https://ipdata.info timeout:10]; // seconds, default 10 ``` 来自非 2xx 响应的错误将作为 `NSError` 在 `IPDataErrorDomain` 域中返回,其 `code` 设为 HTTP 状态码, `localizedDescription` 则来自 API 的 `{"error": "..."}` 响应体。 ## 速率限制 - 免费版 (`ipdata.info`):每分钟 50 次请求,无需 key。 - 付费版 (`pro.ipdata.info`):更高的限制 + `batchLookup`,需要 [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)
标签:CVE监控, iOS开发, IP地理定位, Objective-C, 威胁情报, 开发者工具