我正在查詢地理數據庫(城市,國家,組織)的一堆IP地址。 我看着http://www.maxmind.com/download/geoip/api/pascal/Sample.pas和修改了它:德爾菲Maxmind geoip查詢
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;
,但我得到超過50000查詢沒有結果。 我知道在使用csv時必須處理地址,但我有二進制db版本。 我錯過了什麼?
謝謝!
什麼返回你'GeoIP.GetDatabaseInfo'? – TLama 2012-08-13 13:36:43
不幸的是:http://s13.postimage.org/r0ihjezev/geoipdbinfo.png – asg2012 2012-08-13 13:42:35
而且你有德爾福2009+和使用['a unit'](http://www.maxmind.com/download/geoip/api /pascal/GeoIP.pas)是在Delphi版本之前創建的。所以它看起來像是ANSI/Unicode不匹配。 – TLama 2012-08-13 13:45:46