In Ruby 2.0.0 e versioni successive, il semplice passaggio di un oggetto uri con un https
URL è sufficiente per eseguire una richiesta di get HTTPS.
uri = URI('https://encrypted.google.com')
Net::HTTP.get(uri)
Puoi verificarlo eseguendo una richiesta get su un dominio con un certificato scaduto.
uri = URI('https://expired.badssl.com/')
Net::HTTP.get(uri)
È stato introdotto da questo commit in Ruby 2.0.0.
Il get_response
metodo, che viene chiamato dal Net::HTTP.get
metodo, viene impostato :use_ssl
su true quando iluri.scheme
è "https".
Disclaimer: Capisco che la domanda sia per Ruby 1.8.7, ma poiché questo è uno dei primi risultati di ricerca quando si cerca "https ruby", ho deciso di rispondere comunque.
IO.copy_stream( open( url, { ssl_verify_mode: OpenSSL::SSL::VERIFY_NONE } ), download_path )
solo per disabilitare la verifica SSL. Nel nostro caso, la sicurezza non era un problema, il server era fuori dal nostro controllo ed era una soluzione temporanea.