Я пытаюсь сделать запрос cURL в PHP на URL. Что бы я ни старался, я всегда получаю cURL errno 35 (для определенного URI). В документации на скручивание можно сказать следующее:Как отлаживать или исправить cURL errno 35
Вы действительно хотите, чтобы буфер ошибок и прочитал сообщение там, поскольку оно выявляет проблему немного больше. Могут быть сертификаты (форматы файлов, пути, разрешения), пароли и другие.
Однако при попытке захвата этой информации ничего не возвращается.
$client = curl_init('https://dev.kelunik.com/css/all.min.css')
$log = fopen('/srv/www/Requestable/data/curl-log.txt', 'a+');
curl_setopt($client, CURLOPT_VERBOSE, 1);
curl_setopt($client, CURLOPT_STDERR, $log);
curl_setopt($client, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($client, CURLOPT_SSL_VERIFYHOST, 2)
curl_setopt($client, CURLOPT_CAINFO, __DIR__ . '/../../../../data/default.pem');
curl_setopt($client, CURLOPT_FAILONERROR, false);
curl_setopt($client, CURLOPT_RETURNTRANSFER, true);
curl_setopt($client, CURLOPT_HEADER, true);
curl_setopt($client, CURLINFO_HEADER_OUT, true);
curl_setopt($client, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($client, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($client, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
if (!$response = curl_exec($client)) {
throw new CurlException('Making request failed: ' . curl_error($client) . '(' . curl_errno($client) . ')');
}
fclose($log);
Приведенный выше код всегда бросает CurlException
с Errno 35, однако определенный файл журнала остается пустым.
При попытке a different URI (с сертификатом того же ЦС) он просто работает ™. Я также проверил мой корень CA сверток, который является довольно up2date:
Сертификат данные Mozilla скачать на: Ср Сен 3 03:12:03 2014
Что еще я могу проверить, чтобы выяснить, что в ошибка вызывает ошибку?
Примечание: URI может быть запрошено как из браузера, а также от моей местного Dev среды просто отлично
Примечание 2: Я также попробовал без установки вручную корневого пакета пользовательского ЦСА в результате которого та же ошибка.
версия OpenSSL:
Installed Packages
Name : openssl
Arch : x86_64
Version : 1.0.1e
Release : 30.el6_6.5
Curl версия:
curl 7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.16.2.3 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2
Protocols: tftp ftp telnet dict ldap ldaps http file https ftps scp sftp
Features: GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz
ошибка 35 является «неизвестной ошибкой ssl». вы не получаете более конкретного сообщения от вызова 'curl_error()'? –
Я получаю исключительно полезную ошибку [«Ошибка подключения SSL»] (https://requestable.pieterhordijk.com/4GCuvc). :( – PeeHaa
Какая версия OpenSSL вы используете? –