रूबी 2.0.0 और इसके बाद के संस्करण में, बस एक httpsयूआरएल के साथ एक यूआरएल में गुजरना एक HTTPS अनुरोध प्राप्त करने के लिए पर्याप्त है।
uri = URI('https://encrypted.google.com')
Net::HTTP.get(uri)
आप एक एक्सपायर्ड सर्टिफिकेट वाले डोमेन पर रिक्वेस्ट देकर यह सत्यापित कर सकते हैं ।
uri = URI('https://expired.badssl.com/')
Net::HTTP.get(uri)
इसे रूबी 2.0.0 में इस कमिट द्वारा पेश किया गया था ।
get_responseविधि है, जिसमें से पुकारा जाता है Net::HTTP.getविधि, सेट :use_ssl सच करने के लिए जब uri.schemeहै "https"।
डिस्क्लेमर: मैं समझता हूं कि प्रश्न रूबी 1.8.7 के लिए है, लेकिन चूंकि यह शीर्ष कुछ खोज परिणामों में से एक है जब कोई "https रूबी" खोजता है, तो मैंने वैसे भी जवाब देने का फैसला किया है।
IO.copy_stream( open( url, { ssl_verify_mode: OpenSSL::SSL::VERIFY_NONE } ), download_path )SSL सत्यापन को अक्षम करने के लिए उपयोग करना था । हमारे मामले में, सुरक्षा कोई समस्या नहीं थी, सर्वर हमारे नियंत्रण से बाहर था और यह एक अस्थायी समाधान था।