GeoIPIPSP.dat 无效的数据库类型

0 投票
1 回答
827 浏览
提问于 2025-04-17 23:17

我们有一个商业的 MaxMind 订阅,可以获取包含 ISP 信息的 GeoIP 数据库(文件名是 GeoIPISP.dat)。但是,当我尝试查询这个文件时,总是出现以下错误:

GeoIPError: Invalid database type, expected Org, ISP or ASNum

我正在使用 Python 的 API:

geo = GeoIP.open("/GeoIPIPSP.dat", GeoIP.GEOIP_STANDARD)
isp = geo.name_by_addr(ip) # or isp_by_addr with pygeoip

当我用这个 API 查询数据库类型(geo._type)时,得到的结果是 "1"……这个值和我打开一个普通的 GeoIP.dat 文件时得到的结果是一样的。我在想,GeoIPISP.dat 文件是不是有什么问题,但这是 MaxMind 客户下载页面上最新的文件。

任何见解都非常感谢!

1 个回答

0

原来数据库文件确实有问题。重新下载后,一切都正常了。

不过我换用了pygeoip这个库,并且这样来访问数据库:

import pygeoip
geo_isp = pygeoip.GeoIP("/usr/share/GeoIP/GeoIPIPSP.dat")
isp = geo_isp.isp_by_addr("8.8.8.8")

撰写回答