2014-09-29 53 views
1

在我的生产服务器中,我使用了Geocoder gem。但是,以下代码在服务器控制台中不起作用。地理编码api对IP地址的响应速度不够快

Geocoder.search("192.168.1.4") 

我已经配置了我的geocoder.rb文件,超时30秒。但它仍然给出了错误地理编码API不够快速响应

令人惊讶的是,每当我运行Geocoder.search("San Francisco, CA")它会在几秒钟内给出结果。

我该怎么办?

回答

0

您是否尝试过使用面向公众的IP而不是您正在使用的内部IP?

IP地址地理编码通常会返回拥有IP地址块的组织的结果,而不是实际的计算机IP地址。这是因为IP地址地理编码不考虑专用IP,VPN或内部网络块。

+0

我用谷歌的IP:173.194.120.99。但同样的错误。 – Emu 2014-09-29 06:07:15

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 

) 

我希望这可以帮助您。