Я пытаюсь преобразовать curl-statement с заголовком аутентификации в запрос php curl. Но он, похоже, не работает, потому что я получаю ошибку ниже с помощью echo 'error:' . curl_error($ch);
echo 'error:' . curl_error($ch);
:
error:SSL certificate problem: unable to get local issuer certificate
Моя команда curl выглядит так:
curl --user XXXX:YYYY "URL"
Мой php-curl выглядит так:
$login = 'XXXX'; $password = 'YYYY'; $url = 'URL'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_setopt($ch, CURLOPT_USERPWD, "$login:$password"); echo curl_exec($ch); $result = curl_exec($ch); if ($result != false){ echo "SUCCESS"; }else{ echo "<br>"; echo 'error:' . curl_error($ch); echo "<br>"; } curl_close($ch); echo($result);
Кто-нибудь видит мою ошибку?
cURL не может проверить подлинность используемого сертификата, поскольку сертификат для полномочий подписи не может быть найден в локальной базе данных.
Это может быть симптомом использования самоподписанного сертификата.
Что вам нужно сделать, это добавить сертификат для полномочий подписи в /etc/ssl/certs/ca-certificates.crt
.
Вы можете использовать curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
, который отключит проверку, которая не работает.
Вы действительно должны использовать первый вариант.