在我的生产服务器中,我使用过Geocoder gem。但是,以下代码无法在服务器控制台中运行。
Geocoder.search("192.168.1.4")
我已将我的geocoder.rb
文件配置为超时30秒。但它仍然给错误地理编码api响应不够快
令人惊讶的是,每当我运行Geocoder.search("San Francisco, CA")
时,它都会在几秒钟内得出结果。
我该怎么办?
答案 0 :(得分:1)
我认为这是freegeoip的一个问题,请尝试以下方法:
在rails控制台中输入:
Geocoder.configure(:ip_lookup =>:telize)
现在尝试在您的控制台中搜索。
如果有效,你可以拥有你的文件(config / initializers / 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
)
我希望这对你有所帮助。
答案 1 :(得分:0)
您是否尝试使用面向公众的IP而不是您正在使用的内部IP?
IP地址地理编码通常会返回拥有IP地址块而非实际计算机IP地址的组织的结果。这是因为IP地址地理编码不考虑专用IP,VPN或内部网络块。
答案 2 :(得分:0)
当我没有连接到互联网时,我收到此错误..请确认您有一个活跃的互联网或您绕过代理。