Я пишу ботов на ставках в PHP, и для дома ставок требуется, чтобы SSL-сертификат отправлялся на автоматические подключения.
У меня есть всевозможные самозаверяющие сертификаты для использования: cert.crt, cert.pem, cert.p12, а также ключ cert.key, и я использую завиток, чтобы установить подключение для входа, но я не могу показаться получите параметры завитка для соединения.
В следующей командной строке я могу установить успешное соединение:
curl -q -k --cert cert.crt --key cert.key https://api.domain.com/certificatelogin/endpoint -d "username=UUUUUUU&password=XXXXXXX" -H "X-Application: appKey"
И это тоже работает:
curl -q -k --cert cert.pem https://api.domain.com/certificatelogin/endpoint -d "username=UUUUUUU&password=XXXXXXX" -H "X-Application: appKey"
Код PHP, который я использую сейчас, выглядит следующим образом:
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://api.domain.com/certificatelogin/endpoint"); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'X-Application: ' . $appKey, 'Accept: */*', 'Content-Type: application/x-www-form-urlencoded' )); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); curl_setopt($ch, CURLOPT_SSLCERT, "path/to/cert/cert.pem"); $postData = 'username=UUUUUUUUU&password=XXXXXXXXXXX'; curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); $response = json_decode(curl_exec($ch)); echo 'Response: ' . json_encode($response);
И после попытки так много комбинаций с .crt и .key, похоже, не могут заставить ничего работать.
Любая помощь будет принята с благодарностью. 🙂