PHP curl错误:"与......有关的未知SSL协议错误"

Jay*_*pta 5 php ssl curl

我对PHP卷曲有极大的困难.我试图通过PHP curl 打开一个网站:https://www.novaprostaffing.com/np/index.jsp,但它不断产生以下错误:"与www.novaprostaffing.com相关的未知SSL协议错误"

我的功能如下:

function getUrl($url) {
$ch = curl_init();


curl_setopt($ch, CURLOPT_ENCODING, 'gzip,deflate');


curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

$buffer = curl_exec($ch);

if (!$buffer)
   {
   echo "cURL error number:" .curl_errno($ch);
   echo " and url is $url and cURL error:" . curl_error($ch);

    }
curl_close($ch);
return $buffer;
Run Code Online (Sandbox Code Playgroud)

}

我尝试了多种修复方法,包括:

  1. 强制卷曲到版本3
  2. 将CURLOPT_SSL_VERIFYPEER和CURLOPT_SSL_VERIFYHOST设置为0
  3. 检查是否在卷曲7.34.我被告知这个版本有一个错误,但我在卷曲7.19.1

以上都没有奏效.如果你有任何想法如何解决这个问题,将不胜感激!

Ste*_*ich 1

服务器仅使用 TLS 1.0,尝试使用 SSL 2.0 或 SSL 3.0 连接将导致您看到的错误。这意味着将版本设置为 3 对于该服务器来说是完全错误的。除此之外,证书链不完整。服务器仅提供叶证书,不提供中间证书,直至受信任的根证书。这将导致验证失败。