Google Geocoding API'sini veya başka bir çevrimiçi kaynağı kullanmak, yerel seçeneklerden ziyade tercihiniz ise, Tor Projesi'ne ('Vidalia Paketi' adlı paketten kolayca kurulabilir) bakmanızı öneririm .
Tor, iletişiminizi dünyanın her yerindeki gönüllüler tarafından yürütülen dağıtılmış bir röle ağı etrafında zıplatarak korur: ziyaret ettiğiniz sitelerin fiziksel konumunuzu öğrenmesini önler.
Rastgele adreslerin enjeksiyonu ve iletişimi bitiş noktalarına şifrelemek için ssl (https) kullanımı ile birlikte (bunu yaptığınızdan da emin olun), uzaktan coğrafi kodlamanın daha güvenli bir yolunu düşünemiyorum. Hangi coğrafi kodlama hizmetini kullanırsanız kullanın, isteklerin nihayetinde nereden geldiğini ve https ile de kimsenin istemediğini tespit edemezsiniz. Not: Bunun için bir api anahtarı gerektiren bir coğrafi kodlama servisi kullanmayın, yoksa artık isimsiz kalmazsınız. (Google artık bir api anahtarı gerektirmiyor).
Bu prosedürün bir 'avantajı', talepleriniz birden fazla ip adresinden geliyor gibi görüneceğinden artık herhangi bir sayıda coğrafi kodlama isteğiyle sınırlı kalmayacağınızdır. Ancak, ben do not tavsiye veya bu güzel ücretsiz API'leri kötüye onaylamaz! API oranı sınırlarsa, oran hala sınırlı olacaktır (ancak, Tor kullanan iletim hızı doğrudan bağlanmaktan biraz daha yavaş olsa da).
Python'da örnek olay incelemesi - Vidalia Bundle'ı yükledikten ve proxy'nin 127.0.0.1:8118 (varsayılan) üzerinde çalışmasını sağladıktan sonra, Python 2.7 veya daha yüksek sürümlerde aşağıdakileri kullanarak bir https urllib2 proxy'si ayarlayabilirsiniz:
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 proxy sunucularının, en azından Python 2.7'ye kadar https ile çalışmadığını unutmayın, bu nedenle bu yöntem yalnızca son Python sürümleriyle çalışır. Yukarıdaki örnekte her iki yerde de 'https' ('http' değil) olduğundan emin olun. Sadece Python 2.7.1 ile test ettim.
Vidalia, her 10 dakikada bir kimliğinizi / görünen IP adresinizin kökenini değiştirir, ancak yavaş oranlarla veya başka sorunlarla karşılaşırsanız (kota aşılmış hatalar varsa) veya özellikle paranoyaksanız ve kimliğinizi daha sık değiştirmek istiyorsanız, Tor kimliğinizi değiştirebilirsiniz Burada python kodunu kullanarak (aşağıda hafifçe değiştirilmiş). Vida parolasını girerek Tor parolasını statik bir parola (rastgele oluşturulmuş bir şifre yerine) değiştirmeniz gerekecektir. Ayrıca tüm değişikliklerden sonra Vidalia'yı yeniden başlatmanız gerekebilir.
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