我使用谷歌的自定義搜索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