【问题标题】:YQL geocoding returning different results from different IP'sYQL 地理编码从不同的 IP 返回不同的结果
【发布时间】:2012-12-10 20:36:14
【问题描述】:

我正在使用 yahoo 地理编码 YQL 来获取用户输入位置的纬度/经度。奇怪的是,从不同的 IP 地址查询时,我得到了不同的结果。例如,此查询尝试解析 London, United Kingdom

http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.places%20where%20text%3D%22london%2C+United+Kingdom%22&appid=my_app_id

(在你问之前,my_app_id 是真实 ID,出于显而易见的原因,我没有在这里显示)

当我在本地机器上运行它时(在控制台中使用wget),我得到了有效的结果。当我从我们的测试服务器运行它时,我得到了相同的结果。然而,当我从我们的实时服务器运行它时,我得到了一个不同的响应,count="0"。因此,该应用程序在我的本地计算机和我们的测试服务器上运行,但在实时服务器上失败。

肯定有问题,但我不知道是什么。任何帮助表示赞赏。

【问题讨论】:

  • 您可以尝试对空格进行编码吗?用 %20United%20Kingdom 代替 +United+Kingdom。
  • @KaranAshar 我认为这不会产生任何影响。从另一台服务器复制/粘贴 URL 可以正常工作。
  • 是的,无论如何,那是在黑暗中拍摄的。将尝试检查我是否发现任何问题(看起来不像)。只是好奇,当你说你得到不同的结果时,这是否意味着你得到不同的纬度/经度值?

标签: geocoding yql


【解决方案1】:

我会尝试将诊断选项添加到 YQL。这应该会让您更深入地了解 YQL 代表您进行的查询,并且可能会提供线索。

这是启用了诊断的查询:

select * from geo.places where text="london, United Kingdom"

启用诊断后,您可以比较来自不同 IP 的结果以找出差异。如果你得到零结果的回报,我认为这通常是一个速率限制问题。

【讨论】:

  • 感谢上帝的诊断选项。事实证明,雅虎出错了,因为我在给定的时间增量内超过了允许的公共呼叫数量。排队进行非常长的调试/记录/跟踪马拉松 - 由于所有蜘蛛都访问了网站(谷歌不是这里最严重的违规者),最终导致配额被用完......我现在提出了一个解决方法和事情似乎正在慢慢恢复正常。
猜你喜欢
  • 1970-01-01
  • 2013-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-10
  • 2015-10-21
  • 2012-03-06
相关资源
最近更新 更多