Ошибка PHP: неизвестная ошибка протокола SSL при подключении к api.smartsheet.com:443

Я пытаюсь подключиться к API смарт-листов с помощью PHP / cURL.

<?php

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "https://api.smartsheet.com/2.0/sheets/xxxxxxxxx/rows");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSLVERSION, 3);

curl_setopt($ch, CURLOPT_POSTFIELDS,
"[{\"toTop\":true, \"cells\": [ ". "{\"columnId\": xxxxxxxx, \"value\": description},". "{\"columnId\": xxxxxxxx, \"value\": amount},". "{\"columnId\": xxxxxxxx, \"value\": po},". "{\"columnId\": xxxxxxxx, \"value\": wo},". "{\"columnId\": xxxxxxxx, \"value\": contractor},". "{\"columnId\": xxxxxxxx, \"value\": vendorcode},". "{\"columnID\": xxxxxxxx, \"value\": notes}]");

curl_setopt($ch, CURLOPT_POST, 1);

$headers = array();
$headers[] = "Authorization: Bearer xxxxxxxx";
$headers[] = "Content-Type: application/json";
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
curl_close ($ch);

?>

По какой-то причине каждый раз, когда он запускается, я получаю следующую ошибку,

Неизвестная ошибка протокола SSL при подключении к api.smartsheet.com:443

Я пытался изменить SSL_Version, но это не решает проблему. Я знаю, что все мои числа (токен, sheetnum, Columnum) являются правильными. Я пытался найти другие решения людей, которые работали с другими API, но так и не смогли найти ответ. У кого-нибудь есть идеи, как это исправить?

Спасибо,
Джошуа

0

Решение

curl_setopt ($ ch, CURLOPT_SSLVERSION, 3);

Это обеспечивает применение SSLv3, протокола, который на некоторое время устарел по соображениям безопасности. А также, глядя на конфигурацию сервера он не поддерживает SSLv3, который похож на большинство других серверов.

Я рекомендую просто удалить эту строку и позволить curl выбрать лучшую версию самостоятельно.

Я пытался изменить SSL_Version, но это не решает проблему.

Возможно, это не решит проблему, поскольку вы не получите ожидаемый ответ от сервера. Это может устранить конкретную проблему SSL, с которой вы столкнулись, так что вы можете продолжить работу с другими проблемами, которые могут возникнуть в коде. Посмотрите внимательно на любые сообщения об ошибках, которые могут измениться.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]