ti-enxame.com

Ruby Respostas Net :: HTTP :: Get e JSON

Estou tentando conectar-me a uma API e recuperar os resultados do json com meu aplicativo Rails, no entanto, parece que não funciona).

Considere por exemplo:

@request = Net::HTTP::Get.new "http://example.com/?search=thing&format=json"

Quando tento o URL no meu navegador, ele funciona! e recebo dados JSON, no entanto, quando tento isso em Ruby, o corpo é nulo.

>> y @request
--- !Ruby/object:Net::HTTP::Get 
body: 
body_stream: 
header: 
  accept: 
  - "*/*"
  user-agent: 
  - Ruby
method: GET
path: http://example.com/?search=thing&format=json
request_has_body: false
response_has_body: true

Alguma ideia?

24
JP Silvashy

Você realmente precisa enviar a solicitação e recuperar um objeto de resposta, assim:

response = Net::HTTP.get_response("example.com","/?search=thing&format=json")
puts response.body //this must show the JSON contents

Saudações!

PS: Ao usar a biblioteca HTTP do Ruby, esta página tem alguns exemplos úteis.

40
Pablo Fernandez

Eu costumo usar open-uri

require 'open-uri'
content = open("http://your_url.com").read

`

44
jordinl