Partage
  • Partager sur Facebook
  • Partager sur Twitter

perl module geoip

geoip pour avoir les information d'une adresse ip

2 juillet 2019 à 19:24:12

Bonjour tous le monde,

Je reviens vers vous car j'ai un souci ça fait une semaine avec le module perl GeoIP.

J'ai des utilisateur qui se connectnet à mon serveur et je voudrais savoir les pays apartir des adresse ip, pour cela j'ai utilisé le code suivant

#!/usr/bin/perl

use strict;
use warnings;
use Geo::IP;

my $geo  = Geo::IP->open('/usr/local/share/GeoIP/GeoIPCity.dat', GEOIP_STANDARD);
my $host = "8.8.8.8";

my $r = $geo->record_by_addr($host);

print $r->country_name;

dans cette exemple je voudrais par exemple savoir la region de l'adresse ip 8.8.8.8 (le DNS de google) mais j'ai tjrs l'erreur suivant

Can't call method "country_name" on an undefined value at ./geoip.pl line 12.

Je vous remercie infinement pour tt aide



  • Partager sur Facebook
  • Partager sur Twitter
4 juillet 2019 à 19:22:11

Yop.

Si $r est une undefined value ligne 12, ça signifie que l'affectation ligne 10 a raté, tout simplement. Il faut vérifier si $geo->record_by_addr($host) renvoie bien quelque chose, et remonter de fil en aiguille pour voir où ça casse.

  • Partager sur Facebook
  • Partager sur Twitter