В настоящее время я создаю скрипт для выполнения некоторых запросов на склеивание SSL, однако мне не повезло в их выполнении. Все, что я получаю от curl_error (), – это простая строка «Ошибка подключения SSL» … Это совсем не полезно. Я попытался вставить действительный самоподписанный сертификат, полностью отключил проверку (как показано в приведенном ниже коде) и миллион и еще одну конфигурационную дисперсию, но я последовательно получаю эту ошибку. Где я иду не так?
function request($url, $data, $method) { $curlSession = curl_init(); $headers = [ 'Authorization: Basic ' . 'REDACTED' ]; // Set the URL curl_setopt($curlSession, CURLOPT_URL, $url); curl_setopt($curlSession, CURLOPT_HTTPHEADER, $headers); curl_setopt($curlSession, CURLOPT_HEADER,1); switch ($method) { case 'POST': curl_setopt($curlSession, CURLOPT_POST, 1); curl_setopt($curlSession, CURLOPT_POSTFIELDS, $data); case 'PUT': curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT"); curl_setopt($curlSession, CURLOPT_POSTFIELDS, $data); } // Return it direct, don't print it out curl_setopt($curlSession, CURLOPT_RETURNTRANSFER, 1); // Set correct port curl_setopt($curlSession, CURLOPT_PORT, 80); // This connection will timeout in 30 seconds curl_setopt($curlSession, CURLOPT_TIMEOUT, 30); // Disable SSL Checking as not working curl_setopt($curlSession, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curlSession, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($curlSession, CURLINFO_HEADER_OUT, true); // Send the request and store the result in an array $rawResponse = curl_exec($curlSession); // Check that a connection was made if (curl_error($curlSession)) { $info = curl_getinfo($curlSession); $curlError = curl_error($curlSession); // Close the cURL session curl_close($curlSession); print_r($info); print($curlError); // If it wasn't... return false; } $info = curl_getinfo($curlSession); $httpStatus = curl_getinfo($curlSession, CURLINFO_HTTP_CODE); // Close the cURL session curl_close($curlSession); return $rawResponse; }
Попробуйте добавить:
curl_setopt($curlSession, CURLOPT_SSLVERSION, 3); // FIX SSL23_GET_SERVER_HELLO error