开发者

Ruby Net::HTTP::Get and JSON responses

I'm trying to connect to an API and retrieve the json results with my rails app, however it doesn't seem to work.

Take for example:

@request = Net::HTTP::Get.n开发者_如何学JAVAew "http://example.com/?search=thing&format=json"

When I try the url in my browser it works! and I get JSON data, however when I try that in Ruby the body is nil.

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

Any thoughts?


I usually use open-uri

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

`


You need to actually send the request and retrieve a response object, like this:

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

Regards!

PS: While using ruby's HTTP lib, this page has some useful examples.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜