获取HTTPS响应

Ole*_*eev 17 ruby https http

这非常有效:

require 'net/http'

uri = URI('http://api.twitter.com/1/statuses/user_timeline.json')
args = {include_entities: 0, include_rts: 0, screen_name: 'johndoe', count: 2, trim_user: 1}
uri.query = URI.encode_www_form(args)
resp = Net::HTTP.get_response(uri)
puts resp.body
Run Code Online (Sandbox Code Playgroud)

但是从http变为https导致无意义的错误.我不是在问为什么错误毫无意义,我想知道最接近的做法get_responsehttps什么?

我在Net :: HTTP文档中看到了'HTTPS'示例,但它看起来不是很令人印象深刻,并且会让我手动编写来自我的参数哈希的URL - 没有用.

bea*_*nie 22

这是一个在Ruby 1.9.3下适合我的例子

require "net/http"

uri = URI.parse("https://api.twitter.com/1/statuses/user_timeline.json")
args = {include_entities: 0, include_rts: 0, screen_name: 'johndoe', count: 2, trim_user: 1}
uri.query = URI.encode_www_form(args)
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::Get.new(uri.request_uri)

response = http.request(request)
response.body
Run Code Online (Sandbox Code Playgroud)

  • 您可能**不希望**示例中的`OpenSSL :: SSL :: VERIFY_NONE`.如果您不验证证书,为什么要使用SSL?请参阅http://jamesgolick.com/2011/2/15/verify-none..html. (8认同)