地理编码 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:对自由文本查询进行地理编码可返回正确的结果,但没有合格的查询

我可以从 HERE 的反向地理编码 API 调整返回的地址标签吗?

谷歌地理编码服务返回虚假地址的响应

如何通过谷歌地图 iOS API 对地址进行地理编码?

3G/Edge/GPRS IP 地址和地理编码