2014-09-29 1 views
1

На моем сервере производства я использовал драгоценный камень Geocoder. Но следующий код не работает в консоли сервера.геокодирование api не отвечает достаточно быстро для IP-адреса

Geocoder.search("192.168.1.4") 

Я настроил мой geocoder.rb файл с тайм-аута 30 секунд. Но все это дает ошибку геокодирования апи не реагирует достаточно быстро

Удивительно, но всякий раз, когда я побежал Geocoder.search("San Francisco, CA") это дает результат в течение нескольких секунд.

Что мне делать?

ответ

0

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

Геокодирование IP-адресов часто возвращает результаты для организации, которой принадлежит блок IP-адресов вместо фактического IP-адреса компьютера. Это связано с тем, что геокодирование IP-адресов не рассматривает частные IP-адреса, виртуальные частные сети или внутренние сетевые блоки.

+0

Я использовал IP-адрес google: 173.194.120.99. Но все та же ошибка. – Emu

0

Я получаю эту ошибку, когда я не подключен к Интернету. Убедитесь, что у вас есть активный интернет или вы обходите прокси.

1

Я думаю, что это проблема с freegeoip, попробуйте следующее:

Введите это в рельсах консоли:

Geocoder.configure (: ip_lookup =>: telize)

Теперь попробуйте вас выполните поиск в консоли.

, если это работает вы можете иметь свой файл (конфигурационный/Инициализаторы/geocoder.rb)

Geocoder.configure(

    :timeout=>20, 

    :lookup=>:yandex, 

    :ip_lookup=>:telize, 

    :language=>:en, 

    :http_headers=>{}, 

    :use_https=>false, 

    :http_proxy=>nil, 

    :https_proxy=>nil, 

    :api_key=>nil, 

    :cache=>nil, 

    :cache_prefix=>"geocoder:", 

    :units=>:km, 

    :distances=>:linear 

) 

Я надеюсь, что это поможет вам.

 Смежные вопросы

  • Нет связанных вопросов^_^