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

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

24 голосов
/ 05 сентября 2010

Я пытаюсь подключиться к 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

Есть мысли?

Ответы [ 2 ]

43 голосов
/ 05 сентября 2010

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

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

`

40 голосов
/ 05 сентября 2010

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

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

С уважением!

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...