Si vous préférez utiliser l'API Google Geocoding ou une autre source en ligne plutôt que des options locales, nous vous conseillons de vous pencher sur le projet Tor (facilement installé via l'ensemble "Vidalia Bundle").
Tor vous protège en faisant rebondir vos communications sur un réseau distribué de relais gérés par des bénévoles du monde entier: cela empêche ... les sites que vous visitez de ne pas connaître votre emplacement physique.
Avec l'injection d'adresses aléatoires et l'utilisation de ssl (https) pour chiffrer les communications vers leurs points de terminaison (assurez-vous également que vous le faites également), je ne vois pas de moyen plus sûr de géocoder à distance. Quel que soit le service de géocodage que vous utilisez, il ne sera jamais possible d'identifier l'origine des demandes, et avec https, personne d'autre ne le fera. Remarque: n'utilisez pas un service de géocodage nécessitant une clé API pour cela, sinon vous ne serez plus anonyme. (Google n'a plus besoin d'une clé d'api).
L’un des avantages de cette procédure est que vous ne serez plus limité à un nombre quelconque de demandes de géocodage, car vos demandes donneront l’impression qu’elles proviennent de plusieurs adresses IP. Cependant, je ne pas recommander ou cautionne abuser de ces belles API libres! Le débit sera toujours limité si le débit de l’API est limité (bien que la vitesse de transmission utilisant Tor soit un peu plus lente que la connexion directe).
Etude de cas en Python - Une fois que vous avez installé Vidalia Bundle et que le proxy a été exécuté sur 127.0.0.1:8118 (valeur par défaut), vous pouvez configurer un proxy https urllib2 à partir de Python 2.7 ou version ultérieure:
import urllib2
proxy = urllib2.ProxyHandler({'https': '127.0.0.1:8118'})
opener = urllib2.build_opener(proxy)
urllib2.install_opener(opener)
response = urllib2.urlopen("https://maps.google.com/maps/geo?q=Los+Angeles&sensor=false&gl=us")
Notez que les proxies urllib2 ne fonctionnent pas avec https avant au moins Python 2.7, donc cette méthode ne fonctionne qu'avec les versions récentes de Python. Assurez-vous que vous avez «https» (pas «http») aux deux endroits dans l'exemple ci-dessus. Je l'ai seulement testé avec Python 2.7.1.
Vidalia modifie votre identité / adresse IP apparente toutes les 10 minutes, mais si vous rencontrez des problèmes de taux ou d'autres problèmes (erreurs de dépassement de quota), ou si vous êtes particulièrement paranoïaque et souhaitez modifier votre identité plus souvent, vous pouvez modifier votre identité Tor. en utilisant le code python ici (légèrement modifié ci-dessous). Vous devrez changer le mot de passe Tor en un mot de passe statique (plutôt que généré aléatoirement) en entrant les paramètres de Vidalia. Vous devrez peut-être également redémarrer Vidalia après toutes les modifications.
p = "MySuperSecurePassword"
def renewTorIdentity():
success = False
try:
s = socket.socket()
s.connect(('localhost', 9051))
s.send('AUTHENTICATE "' + p + '"\r\n')
resp = s.recv(1024)
if resp.startswith('250'):
s.send("signal NEWNYM\r\n")
resp2 = s.recv(1024)
if resp2.startswith('250'):
success = True
except:
success = False
return success