W Ruby 2.0.0 i nowszych wersjach, zwykłe przekazanie obiektu uri z httpsadresem URL jest wystarczające, aby wykonać żądanie pobierania HTTPS.
uri = URI('https://encrypted.google.com')
Net::HTTP.get(uri)
Możesz to zweryfikować, wykonując żądanie pobierania w domenie z wygasłym certyfikatem.
uri = URI('https://expired.badssl.com/')
Net::HTTP.get(uri)
Zostało wprowadzone przez to zatwierdzenie w Rubim 2.0.0.
get_responseMetoda, która jest wywoływana przez Net::HTTP.getmetodę, ustawia :use_ssl się prawdziwe, gdy uri.schemejest „https”.
Zastrzeżenie: Rozumiem, że pytanie dotyczy Rubiego 1.8.7, ale ponieważ jest to jeden z niewielu najlepszych wyników wyszukiwania przy wyszukiwaniu hasła „https ruby”, i tak zdecydowałem się odpowiedzieć.
IO.copy_stream( open( url, { ssl_verify_mode: OpenSSL::SSL::VERIFY_NONE } ), download_path )tylko do wyłączenia weryfikacji SSL. W naszym przypadku bezpieczeństwo nie było problemem, serwer był poza naszą kontrolą i było to rozwiązanie tymczasowe.