2017-12-14 3 views
0

PHP/cURL을 사용하여 스마트 시트 API에 연결하려고합니다. 어떤 이유로 그것이 내가 다음과 같은 오류가 실행될 때마다 들어 PHP 오류 : api.smartsheet.com:443에 연결된 알 수없는 SSL 프로토콜 오류

<?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); 

?> 

, api.smartsheet.com:443하는 관련

알 수없는 SSL 프로토콜 오류가

나는 SSL_Version 주위에 변경 시도 그러나 그것은 문제를 해결하지 못합니다. 나는 나의 모든 숫자 (토큰, 시트 넘버, 칼럼)가 정확하다는 것을 안다. 나는 다른 api와 일하고 있었지만 여전히 답을 찾을 수 없었던 다른 사람들의 해결책을 시도해 보았습니다. 이 문제를 해결하는 방법에 대한 아이디어가 있습니까?

은 보안상의 이유로 몇 시간 동안 폐기되는 프로토콜을 주셔서 감사합니다 여호수아

+0

다음을 확인하셨습니까? http://blog.techstacks.com/2010/03/3-common-causes-of-unknown-ssl-protocol-errors-with-curl.html – Zak

+0

방금 ​​살펴 봤는데 문제가있는 것 같습니다. . 이것은 cURL로 작업 한 첫 번째 시간이므로 프로토콜 중 일부는 나에게 외국어입니다. 감사합니다. –

답변

0

curl_setopt($ch, CURLOPT_SSLVERSION, 3);

이 SSLv3에을 적용합니다. 그리고 looking at the configuration of the server은 대부분의 다른 서버와 유사한 SSLv3을 지원하지 않습니다.

이 줄을 간단히 제거하고 곱슬 곱슬 하게만 최고의 버전을 선택하는 것이 좋습니다.

I have tried to change around the SSL_Version but that doesn't fix the problem either.

예상되는 서버 응답을 얻지 못할 수도 있습니다. 특정 SSL 문제를 해결할 수 있으므로 코드에있는 다른 문제가 계속 발생할 수 있습니다. 변경 될 수있는 오류 메시지를 자세히 살펴보십시오.

+0

먼저, 답변 해 주셔서 감사합니다. 둘째, 나는 그것을 꺼내려고했지만 문제는 지속되었다. 그래서 저는 여러분이 제공 한 링크에서 TLSv1.2를 사용하도록 컬을 강제로 시도했습니다. 그것을 고치는 방법에 대한 다른 아이디어? 그것은 오류 번호로 응답하지 않습니다. 그냥 오류 –

+0

@ JoshuaAverbuch : 매번 정확히 같은 오류가 나옵니까 * 알 수없는 SSL 프로토콜 오류 *? curl 버전 및 openssl 버전 (curl이 openssl 바인딩과 함께 사용되는 경우)과 같은 환경 구성을 제공 할 수 있습니까? 이러한 정보를 얻는 방법은 https://secure.php.net/manual/en/function.curl-version.php를 참조하십시오. –

+0

version_number 462597 버전 2 ssl_version_number 1597 ssl_version 0 libz_version 7.15.5 호스트 i386-redhat-linux-gnu 나이 OpenSSL/0.9.8b 기능 1.2.3 프로토콜 배열 –

관련 문제