«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как устранить неудачную криптоинициализацию для file_get_contents() с использованием OpenSSL?

Как устранить неудачную криптоинициализацию для file_get_contents() с использованием OpenSSL?

Опубликовано 1 ноября 2024 г.
Просматривать:388

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

Устранение неполадок с неудачной инициализацией шифрования для file_get_contents() с помощью OPENSSL.

При обнаружении ошибки «Не удалось включить шифрование» при использовании file_get_contents() с OPENSSL крайне важно провести расследование. основную проблему.

Определение основной причины

В предоставленном журнале ошибок указано время ожидания во время инициализации шифрования. Однако проблема может заключаться в другом. Одна из возможных причин заключается в том, что на веб-сайте используется неподдерживаемая версия SSL, например SSLv3.

Решение с использованием cURL

Чтобы обойти ограничения file_get_contents() и включить поддержку SSLv3 , вместо этого рекомендуется использовать cURL:

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

Это решение явно устанавливает версию SSL v3, позволяя Curl обрабатывать подтверждение SSL прошло успешно.

Дополнительные рекомендации для пользователей Windows

Пользователям Windows также может потребоваться указать расположение корневых сертификатов для Curl. Этого можно добиться с помощью:

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

Установив для параметра CURLOPT_SSL_VERIFYPEER значение true, Curl будет проверять сертификат узла по указанным корневым сертификатам.

Заявление о выпуске Эта статья перепечатана по адресу: 1729647016. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3