我使用谷歌的自定义搜索API,我试图通过一些Ruby代码来访问它:来自浏览器的好请求,但来自ruby的错误请求?
下面是代码片段
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字符? – amoebe
我尝试过“天空线”,然后“天空/线”来逃离空间。也许没有任何东西可以返回,但是出现错误 – Bula
试试'sky + line'和'sky%20line'吧。我认为你应该使用'CGI :: escape'来避免任何错误:http://ruby-doc.org/stdlib-1.9.3/libdoc/cgi/rdoc/CGI.html#method-c-escape – amoebe