2010-06-30 4 views
1

Désolé pour la question noobish mais comment puis-je le faire avec C++? Je dois obtenir les noms de pays et leurs codes ISO à 2 ou 3 lettres (ou peu importe comment) en utilisant une adresse IP donnée. Y a-t-il un moyen de le faire facilement?comment obtenir le nom de pays et/ou le code par adresse IP?

Les deux seules façons que j'ai trouvées sont d'utiliser la bibliothèque C de GeoIP ou de télécharger une base de données libre mais y a-t-il quelque chose de plus dynamique? Je veux dire, y a-t-il un web-service gratuit avec une mise à jour de la base de données que je peux utiliser pour mon but en utilisant curl ou quelque chose?

Merci d'avance.

+2

lien obligatoire xkcd: http://xkcd.com/195/ – cobbal

+1

Vous ne pensiez pas qu'il n'y en aurait qu'un seul, n'est-ce pas? http://xkcd.com/713/ – MSalters

Répondre

2

MaxMind.com expose un ensemble de web services pour la géolocalisation. Ils ne sont pas gratuits, mais pas cher par recherche. Un de mes clients utilise son service de recherche au niveau de la ville, avec chaque résultat mis en cache pendant une période raisonnable (de la mémoire, 2 ou 3 semaines), puisque les blocs d'adresse IP ne changent pas de position souvent.

L'application compte également le nombre de recherches réelles pour envoyer une notification d'administration lorsque le nombre restant dans l'abonnement devient faible, de sorte qu'il peut être rechargé manuellement. J'utilise également la base de données téléchargeable dans plusieurs applications, avec un processus de mise à jour programmé pour le maintenir à jour.

+0

J'utilise aussi MaxMind. Il y a quelques exemples sur l'intégration de leur GeoIP avec différentes langues. http://www.maxmind.com/app/api – Craig

0

http://www.hostip.info fournit une API.

+0

Apparemment, leur site Web est toujours actif, mais l'API ne fonctionne plus. La dernière activité sur leur forum remonte à près de quatre ans, il semble donc qu'ils n'offrent plus ce service. – Elkvis

Questions connexes