我将编写一些web应用程序,它应该检测用户的国家和城市。例如,当用户进入网站时,web应用程序应该以他/她的母语显示信息,它应该说他/她的国家(和城市,我不知道这是否可能)。你知道任何数据库(IP数据库)或任何其他方法吗?
您可以使用MaxMind的免费GeoLite数据库。有一些示例和数据库文件可在上免费下载http://www.maxmind.com/app/geolitecity
我想它大约每个月都会更新。多年来一直在使用,没有任何抱怨!
尝试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);
});
}
但是,这需要用户的权限才能共享他的位置。
http://www.hostip.info/
Hostip.info是一个基于社区的项目,可以定位IP地址,使数据库免费可用(见下文),但它需要你把它放在你的城市才能工作。