Якщо використання API геокодування Google або іншого джерела в Інтернеті є вашим уподобанням, а не локальними параметрами, я б запропонував переглянути проект Tor (легко встановлюється через пакет, який називається "Vidalia Bundle").
Тор захищає вас, підстрибуючи свої комунікації навколо розподіленої мережі ретрансляцій, якими керують волонтери по всьому світу: це заважає ... сайтам, які ви відвідуєте, дізнаватися про ваше фізичне місцезнаходження.
Поряд з ін'єкцією випадкових адрес та використанням ssl (https) для шифрування зв'язку до їх кінцевих точок (переконайтесь, що ви також це робите), я не можу придумати більш безпечний спосіб дистанційного геокодування. Незалежно від служби геокодування, яку ви використовуєте, ніколи не вдасться визначити, звідки в кінцевому підсумку надходили запити, і з https ніхто інший також не буде. Примітка: не використовуйте службу геокодування, для якої потрібен ключ api, інакше ви більше не будете анонімними. (Google більше не потребує ключа api).
Побічною перевагою цієї процедури є те, що ви більше не будете обмежені будь-якою кількістю запитів геокодування, оскільки ваші запити будуть виглядати так, що вони надходять з декількох ip-адрес. Однак я не рекомендую або схвалюю зловживання цими чудовими безкоштовними API! Швидкість залишається обмеженою, якщо API обмежує швидкість (хоча швидкість передачі за допомогою Tor є дещо повільнішою, ніж підключення безпосередньо).
Приклад дослідження в Python - Після того, як ви встановили пакет Vidalia і проксі-сервер працює на 127.0.0.1:8118 (за замовчуванням), в Python 2.7 або вище ви можете налаштувати https urllib2 проксі, використовуючи:
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")
Зауважте, що проксі-сервери urllib2 не працюють з https до принаймні Python 2.7 або близько того, тому цей метод працює лише з останніми версіями Python. Переконайтеся, що ви маєте "https" (а не "http") в обох місцях у наведеному вище прикладі. Я протестував його лише з Python 2.7.1.
Vidalia змінює вашу особу / очевидне походження IP-адреси кожні 10 хвилин, але якщо ви стикаєтесь із повільними темпами чи іншими проблемами (квота перевищила помилки), або якщо ви особливо параноїчні і хочете частіше змінювати свою особу, ви можете змінити свою особу Tor використовуючи тут код python (трохи змінений нижче). Вам потрібно буде змінити пароль Tor на статичний (а не випадково згенерований), ввівши налаштування Vidalia. Можна також перезапустити Vidalia після всіх змін.
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