如何在网络应用程序中获取用户区域/国家/地区信息?

kin*_*pyo 3 country web-applications geolocation

我的主要目的是向不同国家(语言)的人展示不同的页面.我认为它应该基于用户区域/国家,我想可以从IP地址获取?

例如:*对于EN国家的人,他们会看到这一点.www.example.com

*对于日本人,他们会派遣这个.www.example.com/jp

另外我看到有些人说完成这些目的,最好的方法是基于网页浏览器语言,可以从http标头获取.我不知道哪个更好,常见的方式是什么,为什么......?

谢谢你的建议!

我正在使用Flex和Java.

Ry4*_*ase 5

Zolo,您可以使用maxmind中的geoip数据库,从IP地址轻松找到地区/国家/地区,但它有一些缺点:

  • VPN和缓存可能会产生错误值
  • 用户无法轻易覆盖它.

使用浏览器的Accept:标题通常是首选,因为在美国,讲西班牙语的人可以设置他们的语言设置以获得'es'而不是'en',即使他们的IP会让他们'en'.

当我在过去必须这样做时,我最终在语言选择逻辑中得到了一个有序的首选项列表,每个级别都会覆盖后续的列表(如果存在):

  1. 通过单击站点上的标志图标,存储在会话或cookie中来表示用户首选项
  2. 域名的顶级域名,.com没有任何意义(例如:mycompany.jp获取日语网站,但mycomany.com是"无投票"并传递到下一个级别
  3. 接受标头中的浏览器语言设置
  4. GeoIP最好的猜测
  5. 回归英语

目标当然是将选择基于最准确反映用户偏好的事物.