OPENSSL चेतावनी: विशिष्ट HTTPS URL के लिए "क्रिप्टो को सक्षम करने में विफल"
file_get_contents का उपयोग करके विशिष्ट HTTPS URL तक पहुंचने का प्रयास करते समय यह समस्या उत्पन्न होती है () फ़ंक्शन, ओपनएसएल एक्सटेंशन को सक्षम करने के बावजूद। फ़ंक्शन त्रुटि संदेश देता है: "चेतावनी: क्रिप्टो को सक्षम करने में विफल," यह दर्शाता है कि आवश्यक क्रिप्टोग्राफ़िक संचालन निष्पादित नहीं किया जा सकता है।
इस समस्या का मूल कारण समस्याग्रस्त वेबसाइट द्वारा उपयोग किए गए सुरक्षा प्रोटोकॉल में निहित है। इस मामले में, वेबसाइट SSLv3 का उपयोग करती है, जो एक पुराना और कमजोर प्रोटोकॉल है। सुरक्षा कारणों से ओपनएसएल का डिफ़ॉल्ट कॉन्फ़िगरेशन डिफ़ॉल्ट रूप से SSLv3 का समर्थन नहीं करता है।
इस समस्या को हल करने और वेबसाइट से सामग्री को सफलतापूर्वक पुनर्प्राप्त करने के लिए, एक समाधान आवश्यक है। एक विकल्प उपयोग किए जाने वाले एसएसएल संस्करण को मैन्युअल रूप से निर्दिष्ट करने के लिए cur_setopt() फ़ंक्शन का उपयोग करना है। इसे CURLOPT_SSLVERSION विकल्प को 3 पर सेट करके प्राप्त किया जा सकता है, जो SSLv3 से मेल खाता है।
function getSSLPage($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSLVERSION,3);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
var_dump(getSSLPage("https://eresearch.fidelity.com/eresearch/evaluate/analystsOpinionsReport.jhtml?symbols=api"));
विंडोज़ के तहत उत्पन्न होने वाला एक अन्य संभावित मुद्दा एक्सेस की कमी है मूल प्रमाणपत्र. इसे संबोधित करने के लिए, रूट प्रमाणपत्र डाउनलोड करने और CURLOPT_CAINFO और CURLOPT_SSL_VERIFYPEER विकल्पों का उपयोग करके मैन्युअल रूप से अपना स्थान निर्दिष्ट करने की अनुशंसा की जाती है।
curl_setopt($ch, CURLOPT_CAINFO, __DIR__ . "/certs/cacert.pem");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
इन वर्कअराउंड को लागू करने से, ओपनएसएल का उपयोग करके समस्याग्रस्त वेबसाइट से सामग्री को सफलतापूर्वक एक्सेस करना और पुनः प्राप्त करना संभव हो जाता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3