【发布时间】:2014-03-29 14:44:29
【问题描述】:
我正在使用谷歌自定义搜索 api,我正在尝试通过一些 ruby 代码访问它:
这是一个sn-p的代码
req = Typhoeus::Request.new("https://www.googleapis.com/customsearch/v1?key={my_key}&cx=017576662512468239146:omuauf_lfve&q=" + keyword, followlocation: true)
res = req.run
答案的正文似乎是这个:
<p>Your client has issued a malformed or illegal request. <ins>That’s all we know.</ins>
'
from /usr/local/lib/ruby/2.1.0/json/common.rb:155:in `parse'
from main.rb:20:in `initialize'
from main.rb:41:in `new'
from main.rb:41:in `<main>'
当我尝试从浏览器做同样的事情时,它就像一个魅力。更令人困惑的是,同样的代码在 12 小时前工作。我只更改了它应该查找的关键字,但它开始返回错误。
有什么建议吗?我确信我有足够的积分来处理更多请求
【问题讨论】:
-
您的关键字是否包含任何时髦的字符?像
?#&/.+等或任何 unicode 字符? -
我尝试了“sky line”然后“sky/line”来逃避空间。除了错误,似乎没有返回任何内容
-
也许可以试试
sky+line和sky%20line。我认为您应该使用CGI::escape以避免任何错误:ruby-doc.org/stdlib-1.9.3/libdoc/cgi/rdoc/… -
是的。请把它放在答案中,以便我接受它
-
sky%20line 不起作用。我发现最有用的add sing
标签: ruby request google-api http-status-code-400 typhoeus