2017-07-29 5 views

Antwort

0

Maxmind bietet sowohl Perl-APIs für das Lesen und die Datenbank zu schreiben. Es gibt keine direkte Unterstützung für das Schreiben einer vorhandenen Datenbank, aber sie stellen Dienstprogramme zum Ausgeben der gesamten Datenbank bereit, damit sie gelesen und neu erstellt werden kann.

Die Module sind auf CPAN. Siehe MaxMind :: DB :: Reader und MaxMind :: DB :: Writer. Der Leser wird mit einem Beispiel-Dump-Dienstprogramm geliefert. Von den anderen APIs zum Lesen der Datenbank kann nur die C-API auch die gesamte Datei ausgeben. Andere Sprachen außer Perl tun nur Single-IP-Lookups. Und nur Perl hat einen Schreiber API

(Die Perl-API ist eigentlich sehr nett - ich benutze es, um eine schöne pl/perlU-Erweiterung zu PostgreSQL zum Nachschlagen von Datensätzen in MaxMind dbs aus der PostgreSQL-Datenbank zu erstellen.)

Wenn Sie die Spezifikation sorgfältig lesen, sollen mmdb-Dateien erstellt und nicht bearbeitet werden. Sie haben einen Indexbereich, in dem Sie von einer IP-Adresse zu einem Offset mappen können (technisch gesehen stellen Sie einen CIDR-Block dar, aber normalerweise kennen Sie die Granularität des CIDR-Blocks vor der Suche nicht). Sie können also nichts ändern oder bearbeiten, was die Länge eines Feldes beeinflussen würde. Dies bedeutet effektiv, dass diese kompilierten anstatt editierte Formate sind.