繁体   English   中英

如何通过IP地址获取设备国家地址?

[英]How to get device country address through IP address?

我目前正在开展一个项目,需要确定设备的国家/地区地址在哪里。 我曾尝试使用 Montemagno 的 Geolocator,但问题是如果用户没有在其设备上使用定位服务或 GPS。 我认为使用 IP 地址可能是可能的,但我不知道如何或任何建议可能会有所帮助。 谢谢。

您需要创建一个 http GET 请求以获取 JSON 格式的结果,您可以使用IP API通过 IP 地址获取国家信息。 示例获取请求:

示例请求

返回包含国家信息的 json 数据。

{ "query": "24.48.0.1", "status": "success", "country": "Canada", "countryCode": "CA", "region": "QC", "regionName": "Quebec" , "city": "Montreal", "zip": "H1S", "lat": 45.5808, "lon": -73.5825, "timezone": "America/Toronto", "isp": "Le Groupe Videotron Ltee" , "org": "Videotron Ltee", "as": "AS5769 Videotron Telecom Ltee" }

“您可以使用 IpInfo 通过用户的互联网地址获取他们的国家/地区。除非他们使用 VPN 或代理,否则这是您最好的选择。” 来自用户 Stavm 关于这个问题

您应该使用 MaxMind 的 GeoIP2 之类的服务,并定期下载带有更新的数据库。 如果您每次都保持联系远程 API,则速度会很慢。 最好有一个按计划刷新的本地数据库。

也有免费版本

您的设备和带宽是否有足够的空间?

如果你有5MB以上的可用空间,可以下载更新,那么你就可以下载离线定位数据库并在本地查询。 您可以访问IP2Location LITE免费数据库。 但是,请注意您需要定期更新它。

如果您没有足够的空间,您可以使用远程 API 调用来获取信息。 其中一项免费服务是IPInfoDB ,您可以在页面中找到示例代码。 自 2010 年以来,它是一项免费服务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM