2015-07-18 5 views
1

Я пытаюсь получить адрес из локатора местоположения пользователя, используя геофизию через мой сайт, который размещен на серверах pythonanywhere.
Ниже приведен код, который я использовал в колбе, чтобы сделать это.<ошибка urlopen Не удалось подключиться к туннелю: 403 Запрещено> ошибка при использовании геофизики на серверах pythonanywhere

from geopy.geocoders import Nominatim 
    geolocator = Nominatim() 
    @app.route('/location', methods = ['POST']) 
    def location(): 
     latitude = request.json['latitude'] 
     longitude = request.json['longitude'] 
     location = geolocator.reverse(str(latitude)+ "," + str(longitude)) 
     send_email("[email protected]","Location:",str(location.address)) 
+0

вы знаете, что это ошибка. в геофизике? –

+0

Возможный дубликат [открыть URL-адрес из pythonanywhere] (http://stackoverflow.com/questions/32597390/open-url-from-pythonanywhere) – horns

ответ

2

PythonAnywhere dev здесь: бесплатные учетные записи на PythonAnywhere имеют доступ только к ограниченному набору внешних веб-сайтов (белый список), чтобы люди не подписывались на бесплатные бесплатные аккаунты на нашем сайте, а затем использовали их для атаки на другие сайты. Я предполагаю, что ваш поиск GeoIP пытается получить доступ к сайту без белых ссылок.

Мы, как правило, рады добавить сайты в белый список, если у них есть официальный публичный API, поэтому, если вы можете отслеживать, на каком сайте ваше приложение пытается получить доступ, и дать нам имя хоста и ссылку на документы API, мы можем, вероятно, получить его там, и ваш код будет работать.

(Или, конечно, вы можете перейти на платный аккаунт - потому что мы можем связать их с реальными людьми, они не ограничены :-) белый список

0

Трудно сказать из вашего вопроса, но, возможно, проблема в ошибке декодирования.

попробовать это:

location = geolocator.reverse(str(latitude)+ "," + str(longitude), language="en") 

, что позволит убедиться, что результат будет на английском языке, а не какой-то иностранный язык.

+0

Это не решило эту ошибку. Ошибка связана с пакетом urlib i guess @omri_saadon –