52 votes

Comment déterminer un code postal et une ville à partir d'une adresse IP?

Je suis à la recherche de conseils sur les produits Open API ou 3D Party permettant de convertir une adresse IP en un code postal et une ville, afin de créer un contenu de site Web géo-spécifique.

12voto

lkessler Points 11143

Ce que j'utilise est ip2nation: http://www.ip2nation.com

Il est complètement libre de base de données MySQL de la propriété intellectuelle pour les pays les mappages. Ils comprennent un échantillon de quelques scripts PHP sur leur site.

- Je l'utiliser sur mon blog WordPress avec Ozh gratuit IP de la Nation Plugin WordPress

Même si vous n'êtes pas à l'aide de WordPress, télécharger le plugin qu'il vous donnera un bon jeu de code PHP pour accéder à la base de données. Il a même une belle série de petits drapeaux de pays que vous pouvez afficher à côté ou à la place du nom du pays, qui est ce que je fais pour afficher automatiquement des drapeaux à côté de mon blog commentaire noms.

Vraiment, vous n'avez pas besoin d'une API pour cela. Tous vous avez besoin est la base de données et une capacité à écrire du PHP et du code SQL pour y accéder.

Je ne recommanderais pas ip2location pour un usage occasionnel. Ils facturent beaucoup pour leurs bases de données, et leurs bases de données sont très grandes, et avoir plus de détails que la plupart des gens ont besoin.

Mais ip2nation seulement va à l'échelon des Pays. Si vous avez besoin de Villes et Zipcodes (malgré le fait qu'ils peuvent se tromper comme les autres réponses/commentaires l'ont dit), alors en plus de ip2location, vous pouvez essayer GeoBytes. Ils ont leurs composants spécialement adaptés pour la géo-spécifiques de contenu de site web, tels que GeoSelect: http://www.geobytes.com/GeoSelect.htm

Aussi la recherche pour "ip pour code postal" sur Google.

10voto

Le meilleur moyen (facile à intégrer et gratuit) que j'ai trouvé est disponible ici . Le service est entièrement gratuit, ne nécessite aucune installation locale et ne vous oblige pas à placer des bannières sur votre site (contrairement à IP2Location). La seule restriction dont ils disposent, la limite de requête, est très raisonnable: vous pouvez lancer une requête toutes les 2 secondes et, même si vous effectuez des requêtes plus fréquentes, les résultats seront un peu plus lents. Prendre plaisir!

7voto

BobbyShaftoe Points 19925

4voto

Ben Dowling Points 2849

Vous pouvez utiliser http://ipinfo.io pour cela, qui renvoie le code postal sous le champ "postal" (voir http://jsfiddle.net/zK5FN/2/ pour tous les champs disponibles). Voici un exemple javascript:

 $.get("http://ipinfo.io", function(response) {
    console.log(response.postal);
}, "jsonp");
 

Et voici l'équivalent PHP:

 $ip = $_SERVER['REMOTE_ADDR'];
$details = json_decode(file_get_contents("http://ipinfo.io/{$ip}"));
echo "{$details->city}, {$details->postal}";
 

2voto

Henrik Paul Points 22787

Il convient de prendre en compte le fait que les visiteurs risquent de paniquer si un formulaire Web préremplit leur code postal. Cela peut sembler trop envahissant, et des personnes moins informées sur le plan technique pourraient penser qu'elles sont espionnées. Ceci, à son tour, conduirait à des associations négatives avec votre site Web, moins de visiteurs et un mauvais karma pour vous :)

OTOH, Je n'ai pas compris comment vous auriez utilisé les informations du code postal, alors assaisonnez avec du sel au goût

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X