我打算写一些应该检测用户所在国家和城市的网络应用程序。例如,当用户输入网站时,网络应用程序应该以他/她的母语显示信息,应该说他/她的国家(和城市,我不知道是否可能)。您知道任何数据库(IP数据库)或其他任何方式吗?
答案 0 :(得分:2)
您可以使用MaxMind的免费GeoLite数据库。 有一些示例和数据库文件可以在http://www.maxmind.com/app/geolitecity
免费下载我认为它每个月都有更新。多年来一直使用它,没有抱怨!
答案 1 :(得分:1)
尝试http://www.netimpact.com/faq
可在24小时内免费查询250次。
或者你可以使用简单的javascript代码,与客户的浏览器协商以检测精确的纬度和经度。
// Check for geolocation support
if (navigator.geolocation) {
// Use method getCurrentPosition to get coordinates
navigator.geolocation.getCurrentPosition(function (position) {
// Access them accordingly
alert(position.coords.latitude + ", " + position.coords.longitude);
});
}
但是,这需要用户的许可来共享他的位置。
答案 2 :(得分:0)
http://www.hostip.info/
Hostip.info是一个基于社区的项目,用于地理定位IP地址,使数据库免费提供(见下文),但它需要您放入您的城市以使其工作。