lundi 12 avril 2010
Voici une alternative intéressante à l'extension PHP GeoIp de MaxMind. Contrairement à cette dernière, ce qu'il y a de bien, c'est qu'il n'y a absolument rien à installer car seule une requête HTTP GET est nécessaire pour obtenir les résultats. Un genre de service web simpliste.
Avant de poursuivre, je vous redirige à l'interface web de GeoBytes IP Locator pour en faire l'essai. Suite à cela, il sera possible d'extraire les résultats de la requête par programmation. Cet exemple est en PHP mais ce n'est pas contraignant vu le mode de récupération avec GET.
$url = 'http://www.geobytes.com/IpLocator.htm?GetLocation&template=php3.txt&IpAddress=';Aperçu du résultat obtenu (tableau associatif) :
$ip = '67.205.76.55';
$tags = get_meta_tags($url . $ip);
print_r($tags);
ArrayLes informations retournées sont plus complètes mais il possède aussi une limitation : en mode gratuit, seules 20 requêtes par heure sont autorisées. Au-delà de cette limite, un message apparaîtra :
(
[known] => true
[locationcode] => CAQCMONT
[fips104] => CA
[iso2] => CA
[iso3] => CAN
[ison] => 124
[internet] => CA
[countryid] => 43
[country] => Canada
[regionid] => 35
[region] => Quebec
[regioncode] => QC
[adm1code] => CA10
[cityid] => 1182
[city] => Montreal
[latitude] => 45.5000
[longitude] => -73.5830
[timezone] => -05:00
[certainty] => 94
)
The IP Address that you are currently using: xx.xx.xx.xx has exceeded it's reasonable usage limit, and has been temporarily blocked from accessing this service. Please try back again later.
Vous pourrez alors décider de payer pour le service s'il s'agit d'un élément critique pour le développement de votre application web.