如何使用 here.com API 从 IP 获取国家/地区代码?

How to get country code from IP using here.com API?

提问人:Prasenjit Aluni 提问时间:9/28/2021 更新时间:10/25/2022 访问量:834

问:

我正在研究 https://developer.here.com/documentation#services,以获取用户的位置,尝试从 IP 获取国家/地区代码

IP 地理定位

评论

0赞 Community 10/7/2021
请澄清您的具体问题或提供其他详细信息以准确说明您的需求。正如目前所写的那样,很难确切地说出你在问什么。

答:

0赞 Laurent 11/18/2021 #1

据我所知,Here.com 不提供 IP 地理位置 API。它主要侧重于正向和反向地理编码。

但是,存在多个 IP 地理定位提供商:Ipregistry、IpInfo、IpData、Maxmind、Ip2location 等。

下面是一个使用 Ipregistry 的示例(免责声明,我正在为之工作):

fetch('https://api.ipregistry.co/?key=tryout')
    .then(function (response) {
        return response.json();
    })
    .then(function (payload) {
        console.log(payload.location.country.code);
    });
0赞 alina 10/25/2022 #2

Here.com 不提供来自 IP 地址的用户位置,因此您必须使用 IP 地理定位服务,例如我们的服务 IPinfo

如果您有用户的 IP 地址,则很容易获取位置信息,例如:

  • 城市
  • 地区
  • 国家
  • 纬度和经度

Here.com 获取这些信息并按照文档中所示进行处理。

如果选择使用 IPinfo,则可以向终结点发出 API 请求。如果您要经常查找 IP 地理位置,我建议您注册,以便每月免费获得 50,000 次 IP 地理位置查找。ipinfo.io/<ip_address>

如果需要完整的 IP 地址位置,请尝试:

curl ipinfo.io/8.8.8.8

是一个虚拟的 IP 地址。API 查找的响应如下所示:8.8.8.8

{
  "ip": "8.8.8.8",
  "hostname": "dns.google",
  "anycast": true,
  "city": "Mountain View",
  "region": "California",
  "country": "US",
  "loc": "37.4056,-122.0775",
  "org": "AS15169 Google LLC",
  "postal": "94043",
  "timezone": "America/Los_Angeles",
}

如果只想获取信息,可以对终结点进行 API 调用,如下所示:countrycountry

curl ipinfo.io/8.8.8.8/country

这将返回一个字符串/文本,如下所示:

US