Trong Ruby 2.0.0 trở lên, chỉ cần truyền một đối tượng uri với https
url là đủ để thực hiện yêu cầu HTTPS.
uri = URI('https://encrypted.google.com')
Net::HTTP.get(uri)
Bạn có thể xác minh điều này bằng cách thực hiện yêu cầu nhận trên miền có chứng chỉ hết hạn.
uri = URI('https://expired.badssl.com/')
Net::HTTP.get(uri)
Nó được giới thiệu bởi cam kết này trong Ruby 2.0.0.
Các get_response
phương pháp, mà được gọi bởi Net::HTTP.get
phương pháp, đặt :use_ssl
là true khi uri.scheme
là "https".
Tuyên bố từ chối trách nhiệm: Tôi hiểu rằng câu hỏi dành cho Ruby 1.8.7, nhưng vì đây là một trong số ít kết quả tìm kiếm hàng đầu khi một người tìm kiếm "https ruby", nên tôi vẫn quyết định trả lời.
IO.copy_stream( open( url, { ssl_verify_mode: OpenSSL::SSL::VERIFY_NONE } ), download_path )
để vô hiệu hóa xác minh SSL. Trong trường hợp của chúng tôi, bảo mật không phải là vấn đề, máy chủ nằm ngoài tầm kiểm soát của chúng tôi và đó là giải pháp tạm thời.