MaxMind现在提供他们网站上描述的GeoLite2数据库.
问题是他们不再提供CSV下载,只提供二进制MMDB二进制数据库格式.
我在网上找不到任何关于如何解开MMDB格式并将其安装到我的本地MySQL数据库中的内容.
当我在Notepad +中打开MMDB文件时,它只是一个二进制混乱.
如何使用此MMDB文件来扩展我的本地MySQL数据库?
我下载并提取了GeoLite2-City.mmdb,GeoLite2-Country.mmdb.两者都在htdocs\geoip\
然后,我运行了这个脚本.麻烦的是,这件事有什么作用?什么require_once 'vendor/autoload.php';应该包含?我在这里遗漏了什么.我过去常常使用以.dat文件形式出现的旧版本,并且没有问题.这些.mmdb对我来说有点难以破解.我想要做的就是当用户在页面上使用搜索工具时,将国家代码,国家/地区名称和其他数据存储在数据库中.我怎么做到这一点?
我的测试页面取自网站
<?php
require_once 'vendor/autoload.php'; //What is this supposed to contain?
use GeoIp2\Database\Reader; // What is this too?
// This creates the Reader object, which should be reused across
// lookups.
$reader = new Reader($_SERVER['DOCUMENT_ROOT'].'\geoip\GeoIP2-City.mmdb'); // Where my DB resides
// Replace "city" with the appropriate method for your database, e.g.,
// "country".
$record = $reader->city('128.101.101.101');
print($record->country->isoCode . "\n"); // 'US'
print($record->country->name . "\n"); // 'United States'
print($record->country->names['zh-CN'] . "\n"); // '??'
print($record->mostSpecificSubdivision->name . "\n"); …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用MaxMind GeoIP(精简版)数据库。
部分原因是尝试确定我是否可以进行可靠的单元测试。
对于单元测试,我需要有一些IP地址,我可以始终依靠它发送相同的信息。
大多数IP地址都会四处移动,我假设它们在GeoIP数据库中的流动性甚至更高,但是是否有我可以合理依靠的IP地址(无论出于何种原因)?
对于MaxMind GeoIP付费数据库,我使用nginx和geo_module.我放了一个cron脚本,每周下载一个新的MaxMind GeoIP付费数据库,并用新的替换旧的GeoIP.dat文件.
更换后是否重新加载服务还是需要重启?
在 GeoLite2 国家数据库中,有人知道是否可以在任何地方找到两个字符国家/组织代码的列表或它使用的来源是什么?
我正在使用 maxmind 节点模块与 maxmind 数据库交互。我想要实现的是获取特定州/国家下所有城市的列表。代码如下。
var maxmind = require('maxmind');
maxmind.open('/path/to/GeoLite2-City.mmdb', (err, cityLookup) => {
var city = cityLookup.get('66.6.44.4');
});
Run Code Online (Sandbox Code Playgroud)
我认为没有一个选项可以列出州名称下的所有城市。或通过州/国家名称搜索数据库。还有其他选择吗?
因为我知道区号 - 是地区电话代码,对吗?那么地铁代码栏的用途是什么?
几天前开始我无法下载
http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
我用来启用ngx_http_geoip_module模块的数据库.
它一直是免费的,但现在可用.有没有人知道这个数据库最近的变化?
Geolite2 访问权限于 12 月 30 日发生变化。
今天我注册了一个 Maxmind 帐户,注册了一个许可证密钥(两个密钥都表示“此密钥会用于 GeoIP 更新吗?”,另一个则不会)..现在每次我输入时都会收到 401:
smachine:~# wget "https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-ASN-CSV&token=n3fU000000000000&suffix=zip"
--2020-01-13 00:37:23-- https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-ASN-CSV&token=n3fU000000000000&suffix=zip
Resolving download.maxmind.com (download.maxmind.com)... 104.16.37.47, 104.16.38.47, 2606:4700::6810:252f, ...
Connecting to download.maxmind.com (download.maxmind.com)|104.16.37.47|:443... connected.
HTTP request sent, awaiting response... 401 Unauthorized
Username/Password Authentication Failed.
smachine:~#
Run Code Online (Sandbox Code Playgroud)
你知道我在这里做错了什么吗?
我使用的插件现在显然不再需要许可证密钥了 https://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.mmdb.gz
我试过这个网址(注意:我已经从下面删除了我的许可证密钥)但它没有任何想法
https://download.maxmind.com/app/geoip_download_by_token?edition_id=GeoLite2-Country&license_key= {此处的许可证密钥}&suffix=mmdb.gz