나는 구글 맞춤 검색 API를 사용하고 있는데 좀 루비 코드를 통해 액세스하려고 해요 : 여기브라우저의 요청이 좋으나 루비의 요청이 잘못 되었나요?
는
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 시간 전에 동일한 코드가 작동한다는 것입니다. 찾으려는 키워드 만 변경했으나 오류가 반환되기 시작했습니다.
제안 사항? 더 많은 요청에 대해 충분한 크레딧을 가지고 있다고 확신합니다.
키워드에 펑키 문자가 포함되어 있습니까? '? # & /. +'등 또는 유니 코드 문자와 비슷합니까? – amoebe
"sky line"을 시도한 다음 "sky/line"을 시도하여 공간을 벗어났습니다. 아무 것도 반환하지 않는 것 같지만 오류는 – Bula
'sky + line'과'sky % 20line'을 시도해보십시오. 오류를 피하기 위해'CGI :: escape'를 사용해야한다고 생각합니다 : http://ruby-doc.org/stdlib-1.9.3/libdoc/cgi/rdoc/CGI.html#method-c-escape – amoebe