我想要一些小教程如何检测IP的城市或国家.我听说MaxMind GeoIp对它有好处.
我使用的是GeoIp,带有纯PHP代码。.但是GeoIp2变成了命名空间,依此类推,此刻,我无法找到如何使用它的方法。.我已经下载了GeoLite2-Country.mmdb,现在如何获取IP的国家名称,即123.123.123.123。
ps我没有GIT / COMPOSER等。
所以我正在解析一个大的 csv 文件并将结果推送到 mongo 中。
\n\n该文件是maxminds city 数据库。它有各种有趣的utf8字符。我仍然在某些城市名称中收到(?)符号。这是我读取文件的方式:
\n\n(使用csv节点模块)
\n\ncsv().from.stream(fs.createReadStream(path.join(__dirname, \'datafiles\', \'cities.csv\'), {\n flags: \'r\',\n encoding: \'utf8\'\n})).on(\'record\', function(row,index){\n.. uninteresting code to add it to mongodb\n});\nRun Code Online (Sandbox Code Playgroud)\n\n我在这里可能做错了什么?\n我在 mongo 中得到这样的东西:Ch\xef\xbf\xbdteauguay,加拿大
\n\n编辑:
\n\n我尝试使用不同的库来读取文件:
\n\nlazy(fs.createReadStream(path.join(__dirname, \'datafiles\', \'cities.csv\'), {\n flags: \'r\',\n encoding: \'utf8\',\n autoClose: true\n }))\n .lines\n .map(String)\n .skip(1) // skips the two lines that are iptables header\n .map(function (line) {\n console.log(line);\n });\nRun Code Online (Sandbox Code Playgroud)\n\n它产生相同的不良结果:\n154252,"PA","03","Capellan\xef\xbf\xbda","",8.3000,-80.5500,,\n154220,"AR","01","Villa Espa\xef\xbf\xbda","",-34.7667,-58.2000,,
\n我想显示用户城市的德语名称.是否有可能免费版Maxmind Geoip?我找不到打开GeoLite2-City.mmdb或GeoLiteCity.dat的方法,以查看列出的城市,以构建我自己的翻译服务.我该怎么打开它们?
此字段已于2016年4月添加到数据库中,但发行说明未说明单位是什么.
我有 2 个不同的 IP 地址连接在同一个 WiFi 连接上。
这种差异导致我的国家/地区检测在笔记本电脑和移动设备之间呈现错误。我使用基于 IP 地址的 Geo php (maxmind)。
任何帮助,将不胜感激。谢谢。
maxmind ×6
geoip ×2
geoip2 ×1
geolocation ×1
ip-address ×1
javascript ×1
localization ×1
node.js ×1
php ×1
utf-8 ×1