我正在查询 geoip 数据库(城市、国家、组织)以获取一堆 IP 地址。我查看了http://www.maxmind.com/download/geoip/api/pascal/Sample.pas并对其进行了修改:
function LookupCountry(IPAddr: string) : string;
var
GeoIP: TGeoIP;
GeoIPCountry: TGeoIPCountry;
begin
GeoIP := TGeoIP.Create('C:\Users\Albert\Documents\RAD Studio\Projects\Parser\geoip\GeoIP.dat');
try
if GeoIP.GetCountry(IPAddr, GeoIPCountry) = GEOIP_SUCCESS then
begin
Result := GeoIPCountry.CountryName;
end
else
begin
Result := IPAddr;
end;
finally
GeoIP.Free;
end;
end;
但我在超过 50'000 个查询中没有得到任何结果。我知道在使用 csv 时必须操纵地址,但我有二进制数据库版本。我错过了什么?
谢谢!