4.0.0 |
|
---|---|
3.0.1 |
|
#30 in #data-provider
在 geolocate_bin 中使用
29KB
647 行
Geolocate
Geolocate 是一个 CLI 应用程序,用于从各种提供者获取地理位置数据。目前,我们支持 (ip2location)https://www.ip2location.com/ 和 (ipgeolocation)https://ipgeolocation.io/。如果您想支持其他提供者,请创建一个 issue。
安装
Geolocate 在 stable
上编译。有多种安装方法
- cargo install geolocate
- cargo install --git https://github.com/westernwontons/geolocate
用法
您应该先为至少一个支持提供者获取一些 API 令牌。无论是 (ip2location)https://www.ip2location.com/ 还是 (ipgeolocation)https://ipgeolocation.io/ 都有一个免费层。您可以使用 geolocate config --edit
保存它们。此命令将使用您喜欢的编辑器打开配置文件,您将需要添加令牌。重要:令牌的密钥必须是提供者的名称。例如
ip2location = "yourtokengoeshere"
ipgeolocation = "yourothertokengoeshere"
如果您不这样做,geolocate
将无法识别它们,并且不会很有用。请确保您写入正确的 toml
数据,但是
对于每个提供者都有一个子命令。例如,要从 ipgeolocation
提供者获取 IP 地址 1.2.3.4 的地理数据,您将运行以下命令
geolocate ipgeolocation --addrs 1.2.3.4
可以使用空格分隔多个 IP 地址
geolocate ipgeolocation --addrs 1.2.3.4 1.2.3.4 1.2.3.4
在每种情况下,您都会获得一个 JSON 数组响应。
Geolocate 还可以读取包含 IP 地址的文件。有一些规则
- 每个 IP 地址都必须由新行分隔
- 它们必须是正确的 IP 地址
在后者的情况下,如果 IP 地址格式不正确,您将获得一个错误,该错误显示了不正确的 IP 地址所在的行号。第一个不正确的 IP 地址将使 geolocate
退出。
IP 地址可以是 IPv4
或 IPv6
。Geolocate 接受它们,只要它们是正确的,但不保证提供者接受它们。
依赖关系
~8–20MB
~301K SLoC