"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > OpenSSL का उपयोग करके file_get_contents() के लिए विफल क्रिप्टो आरंभीकरण का समाधान कैसे करें?

OpenSSL का उपयोग करके file_get_contents() के लिए विफल क्रिप्टो आरंभीकरण का समाधान कैसे करें?

2024-11-01 को प्रकाशित
ब्राउज़ करें:833

How to Resolve Failed Crypto Initialization for file_get_contents() Using OpenSSL?

OPENSSL के साथ file_get_contents() के लिए क्रिप्टो इनिशियलाइज़ेशन विफल होने की समस्या का निवारण

OPENSSL के साथ file_get_contents() का उपयोग करते समय "क्रिप्टो को सक्षम करने में विफल" त्रुटि का सामना करते समय, इसकी जांच करना महत्वपूर्ण है अंतर्निहित समस्या।

मूल कारण की पहचान करना

प्रदान किया गया त्रुटि लॉग क्रिप्टो आरंभीकरण के दौरान एक टाइमआउट का सुझाव देता है। हालाँकि, समस्या कहीं और भी हो सकती है। एक संभावित कारण यह है कि वेबसाइट एक असमर्थित SSL संस्करण का उपयोग करती है, जैसे SSLv3। , इसके बजाय cURL का उपयोग करने की अनुशंसा की जाती है:

function getSSLPage($url) { $ch = कर्ल_इनिट(); कर्ल_सेटोप्ट($ch, CURLOPT_HEADER, गलत); कर्ल_सेटोप्ट($ch, CURLOPT_URL, $url); कर्ल_सेटॉप्ट($ch, CURLOPT_SSLVERSION, 3); $परिणाम = कर्ल_एक्सईसी($ch); कर्ल_क्लोज़($ch); वापसी $परिणाम; } var_dump(getSSLPage("https://eresearch.fidelity.com/eresearch/evaluate/analystsOpinionsReport.jhtml?symbols=api"));

यह समाधान स्पष्ट रूप से SSL संस्करण को v3 पर सेट करता है, जिससे कर्ल को संभालने की अनुमति मिलती है एसएसएल हैंडशेक सफलतापूर्वक।

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"));

विंडोज उपयोगकर्ताओं के लिए, कर्ल के लिए रूट प्रमाणपत्र का स्थान निर्दिष्ट करना भी आवश्यक हो सकता है। इसे इसके द्वारा प्राप्त किया जा सकता है:

curl_setopt($ch, CURLOPT_CAINFO, __DIR__ . "/certs/cacert.pem"); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);

CURLOPT_SSL_VERIFYPEER विकल्प को सही पर सेट करके, कर्ल निर्दिष्ट रूट प्रमाणपत्रों के विरुद्ध सहकर्मी के प्रमाणपत्र को सत्यापित करेगा।

विज्ञप्ति वक्तव्य यह लेख यहां पुनर्मुद्रित है: 1729647016 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.कॉम से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3