IPDataInfo/ipdata-rust
GitHub: IPDataInfo/ipdata-rust
ipdata-rust 是 ipdata.info IP 地理定位与威胁情报 API 的官方 Rust 客户端,封装了从单 IP 查询到批量查询和 ASN 详情检索的完整功能。
Stars: 3 | Forks: 0
# IPData.info Rust SDK — 免费 IP 地理定位与威胁情报 API
[](https://crates.io/crates/ipdatainfo) [](https://docs.rs/ipdatainfo) [](../../actions/workflows/ci.yml) [](./LICENSE)
[**ipdata.info**](https://ipdata.info) 的官方 Rust 客户端 — 一个免费、快速的
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) 中进行管理。
## 安装
```
cargo add ipdatainfo
```
## 快速入门
```
use ipdatainfo::Client;
fn main() {
let client = Client::new(); // free tier; or Client::builder().api_key("KEY").build()
let info = client.lookup("8.8.8.8").unwrap();
println!("{:?} {:?} {:?}", info.city, info.country, info.asn_org);
// Some("Mountain View") Some("United States") Some("Google LLC")
}
```
## 方法
| 方法 | 返回内容 |
|--------|-----------------|
| `lookup(ip)` | 完整的地理定位记录(`""` 表示自身的 IP) |
| `geo(ip)` | 地理信息子集(城市/地区/国家/纬度/经度/时区) |
| `asn(ip)` | 某个 IP 的 ASN 及 ISP/注册机构 |
| `batch(ips)` | 一次查询多个 IP(**需要 API key**) |
| `asn_detail(n)` | ASN 详情(包含前缀) |
| `asn_whois_history(n)` | ASN whois 历史 |
| `asn_changes()` | ASN 变更动态 |
| `threat_domain/threat_hash/threat_url(x)` | 威胁情报查询(域名 / 文件哈希 / URL) |
完整响应 schema:[ipdata.info API 文档](https://ipdata.info/docs) ·
[SDK 契约](https://ipdata.info/docs/sdks)。
## 配置
```
use std::time::Duration;
use ipdatainfo::Client;
let client = Client::builder()
.api_key("KEY") // sent as X-Api-Key; switches to pro.ipdata.info
.base_url("https://ipdata.info")
.timeout(Duration::from_secs(10))
.build();
```
非 2xx 响应产生的错误将作为 `ipdatainfo::Error::Api { 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地理定位, Rust, 可视化界面, 威胁情报, 实时处理, 开发者工具, 网络流量审计, 通知系统