地理编码 API 对 IP 地址的响应速度不够快
Posted
技术标签:
【中文标题】地理编码 API 对 IP 地址的响应速度不够快【英文标题】:geocoding api not responding fast enough for IP address 【发布时间】:2014-09-29 06:01:36 【问题描述】:在我的生产服务器中,我使用了 Geocoder gem。但是,以下代码在服务器控制台中不起作用。
Geocoder.search("192.168.1.4")
我已将我的 geocoder.rb
文件配置为超时 30 秒。但它仍然给出了错误geocoding api notresponsive enough
令人惊讶的是,每当我运行Geocoder.search("San Francisco, CA")
时,它都会在几秒钟内给出结果。
我该怎么办?
【问题讨论】:
【参考方案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
)
希望对你有所帮助。
【讨论】:
【参考方案2】:您是否尝试过使用面向公众的 IP 而不是您正在使用的内部 IP?
IP 地址地理编码通常会返回拥有 IP 地址块的组织的结果,而不是实际的计算机 IP 地址。这是因为 IP 地址地理编码不考虑私有 IP、*** 或内部网络块。
【讨论】:
我用过google的IP:173.194.120.99。但仍然是同样的错误。【参考方案3】:当我没有连接到互联网时,我收到此错误。请验证您是否有活动的互联网或您正在绕过代理。
【讨论】:
以上是关于地理编码 API 对 IP 地址的响应速度不够快的主要内容,如果未能解决你的问题,请参考以下文章
api 地理编码错误响应“此 IP、站点或移动应用程序无权使用此 API 密钥”
这里API:对自由文本查询进行地理编码可返回正确的结果,但没有合格的查询