@machno

Как сделать https запрос с помощью cURL?

Пытаюсь сделать запрос на сайт, проверяющий мой сертификат. Не выходит.
<?php
$url = 'https://payments.mtsbank.ru/ecomm/MerchantHandler';
 
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, '2');
curl_setopt($ch, CURLOPT_SSLCERT, './cert.pem');
curl_setopt($ch, CURLOPT_SSLKEY, './key.pem');
curl_setopt($ch, CURLOPT_SSLKEYPASSWD, 'password');
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$result = curl_exec ($ch);
 
echo $result;
if ($result == NULL) {
echo "Error:\n";
echo curl_errno($ch) . " - " . curl_error($ch) . "\n";
}
 
curl_close ($ch);
?>


cURL ругается Error: 58 - Unable to load client key -8178.
  • Вопрос задан
  • 8087 просмотров
Пригласить эксперта
Ответы на вопрос 2
@ikeagold
Обсуждение в комментах
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false)
? Или тут(StOw) может что полезное
curl_setopt ($ch, CURLOPT_CAINFO, dirname(__FILE__)."/cert.pem");
Ответ написан
@Bugolos
Добрый! Я тоже столкнулся с такой проблемой. Возможно дело в версии PHP или настройках сервера, так как один и тот же скрипт отказывался работать на PHP5, зато на PHP7 все работает отлично - все это на одном сервере тестировалось
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы