Подтвердить что ты не робот

Ruby Net:: HTTP:: Get и ответы JSON

Я пытаюсь подключиться к API и извлекать результаты json с помощью моего приложения rails, однако он не работает.

Возьмем, например:

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

Когда я пытаюсь использовать url в моем браузере, он работает! и я получаю данные JSON, однако, когда я пытаюсь это сделать в Ruby, тело равно нулю.

>> 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

Любые мысли?

4b9b3361

Ответ 1

Вам действительно нужно отправить запрос и получить объект ответа, например:

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

Привет!

PS: При использовании ruby ​​HTTP lib эта страница содержит несколько полезных примеров.

Ответ 2

Обычно я использую open-uri

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

`