"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية حل خطأ \"تحذير: فشل تمكين التشفير\" عند الوصول إلى عناوين URL HTTPS باستخدام OpenSSL؟

كيفية حل خطأ \"تحذير: فشل تمكين التشفير\" عند الوصول إلى عناوين URL HTTPS باستخدام OpenSSL؟

تم النشر بتاريخ 2024-11-02
تصفح:138

How to Resolve \

تحذير OPENSL: "فشل تمكين التشفير" لعنوان URL محدد لـ HTTPS

تنشأ هذه المشكلة عند محاولة الوصول إلى عناوين URL محددة لـ HTTPS باستخدام file_get_contents () على الرغم من تمكين ملحق opensl. تقوم الدالة بإرجاع رسالة الخطأ: "تحذير: فشل تمكين التشفير"، مما يشير إلى أنه لا يمكن تنفيذ عمليات التشفير الضرورية.

يكمن السبب الجذري لهذه المشكلة في بروتوكول الأمان الذي يستخدمه موقع الويب الذي به مشكلات. في هذه الحالة، يستخدم موقع الويب SSLv3، وهو بروتوكول قديم وضعيف. التكوين الافتراضي لـ openssl لا يدعم SSLv3 افتراضيًا لأسباب أمنية.

لحل هذه المشكلة واسترداد المحتوى من موقع الويب بنجاح، من الضروري إيجاد حل بديل. أحد الخيارات هو استخدام الدالة curl_setopt()‎ لتحديد إصدار SSL الذي سيتم استخدامه يدويًا. يمكن تحقيق ذلك عن طريق تعيين خيار 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"));
هناك مشكلة محتملة أخرى قد تنشأ في نظام التشغيل Windows وهي عدم الوصول إلى شهادات الجذر. لمعالجة هذه المشكلة، يوصى بتنزيل الشهادات الجذرية وتحديد موقعها يدويًا باستخدام خيارات CURLOPT_CAINFO وCURLOPT_SSL_VERIFYPEER.

curl_setopt($ch, CURLOPT_CAINFO, __DIR__ . "/certs/cacert.pem");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
من خلال تنفيذ هذه الحلول، يصبح من الممكن الوصول إلى المحتوى واسترداده بنجاح من موقع الويب الذي به مشكلات باستخدام opensl.

بيان الافراج أعيد طبع هذه المقالة على: 1729647257 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3