寻找网站访问者地理位置的解决方案
我知道有许多服务提供地理定位工具来解决用户访问的位置。 我正在开发的网站是一个在多个地区运营的电子商务网站。 当访问者访问网站时,它应该计算出来自哪里,并为用户显示相关的货币/语言。
在过去我们使用过maxmind,但我想知道是否有更好的解决方案。 我呼吁具有该领域经验的开发人员分享他们的知识和专业知识,了解可用的内容以及各种解决方案的专业人员和内容。
附加信息:有问题的网站主要运行Java(Spring)和PHP(Kohana)的组合,因此也可以考虑其中任何一个的库。 我们已经有一个解决方案,可以计算出使用哪种货币,前提是我们可以获得访客所在国家/地区的ISO代码。
更新
我想我会对访问这个问题的人留下粗略的解释。
地理定位:我已经使用freegoip来检测用户位置,如本主题所示。
语言:在确定用户使用的语言时,我使用PHP检查用户浏览器中设置的语言: http : //www.php.net/manual/en/function.http-negotiate-language.php
我一直在研究一个需要地理定位的项目,不幸的是我发现大多数服务都在MaxMind数据库上运行 ,最后我使用freegeoip ,免费且到目前为止在我的地区都是精确的。
问候。
在我工作的小型电子商务网站上,我们使用Akamai提供地理位置数据,根据访问者所处的状态提供定制广告和价格。请查看以下内容以获取更多信息: http : //www.akamai.com/ html / technology / products / personalization.html 。
对于语言,它应该来自浏览器。 这比地理定位更有用,更准确。
例如,如果您携带笔记本电脑旅行并使用互联网,那么您可能希望用您所使用的国家/地区的母语查看您所使用语言的内容。
请查看此问题以获取更多信息: 通过PHP检查浏览器的语言?
另一种选择是http://ipinfo.io API(我自己的服务)。 以下是API返回的示例。
$ curl ipinfo.io/8.8.8.8 { "ip": "8.8.8.8", "hostname": "google-public-dns-a.google.com", "loc": "37.385999999999996,-122.0838", "org": "AS15169 Google Inc.", "city": "Mountain View", "region": "CA", "country": "US", "phone": 650 }
您还可以查询特定字段,例如本示例中的国家/地区:
$ curl ipinfo.io/8.8.8.8/country US
有关更多详细信息,请访问http://ipinfo.io/developers 。 它每天最多可免费提出1,000个请求,您可以注册超过该计划的付费计划(请参阅http://ipinfo.io/pricing )
正如我所提到的,我们为这个确切的用例构建了https://ipdata.co
$ip = '78.8.53.5'; $details = json_decode(file_get_contents("https://api.ipdata.co/{$ip}"));
这将返回
{ "ip": "78.8.53.5", "city": "G\u0142og\u00f3w", "region": "Lower Silesia", "country_name": "Poland", "country_code": "PL", "continent_name": "Europe", "continent_code": "EU", "latitude": 51.663, "longitude": 16.0757, "asn": "AS12741", "organisation": "Netia SA", "postal": "67-200", "currency": "PLN", "currency_symbol": "z\u0142", "calling_code": "48", "flag": "http://sofzh.miximages.com/java/pl.png", "time_zone": "Europe/Warsaw" }
这具有许多电子商务相关的数据点,具体而言
- 货币符号
- 货币代码
- 国家国旗图标
- 国家/地区呼叫代码
货币符号z\u0142
是Zloty的ASCII
zł