libcurl 中不支持或禁用协议“curl https”

Posted

技术标签:

【中文标题】libcurl 中不支持或禁用协议“curl https”【英文标题】:Protocol "curl https" not supported or disabled in libcurl 【发布时间】:2017-09-14 01:04:05 【问题描述】:

您好,我正在使用 XAMPP 版本 v3.2.2,并且尝试将 API 与 php CURL Lib 一起使用。但是在每次请求时,我都会收到此错误消息:

 $curl = curl_init();
 curl_setopt_array($curl, array(
   CURLOPT_RETURNTRANSFER => 1,
   CURLOPT_URL => 'curl https://dawanda.com/[XYZ]/products?v=1.1',
   CURLOPT_HTTPHEADER => array('X-Dawanda-Auth: [XYZ]')
  ));
  $resp = curl_exec($curl);

  echo curl_error($curl);

  curl_close($curl);

我不明白错误信息,因为 https 协议在 phpinfo() 中列出。

【问题讨论】:

【参考方案1】:

去掉 url CURLOPT_URL 中的 'curl' => 'curl https://dawanda.com/[XYZ]/products?v=1.1' 这样

 $curl = curl_init();
 curl_setopt_array($curl, array(
   CURLOPT_RETURNTRANSFER => 1,
   CURLOPT_URL => 'https://dawanda.com/[XYZ]/products?v=1.1',
   CURLOPT_HTTPHEADER => array('X-Dawanda-Auth: [XYZ]'),
   CURLOPT_SSL_VERIFYHOST => false,
   CURLOPT_SSL_VERIFYPEER => false
  ));
  $resp = curl_exec($curl);

  echo curl_error($curl);

  curl_close($curl);

【讨论】:

那么我收到此错误消息:SSL 证书问题:无法获取本地颁发者证书 我已经更新了我的答案并添加了这些行 CURLOPT_SSL_VERIFYHOST, false), CURLOPT_SSL_VERIFYPEER, false)。 您只需要意识到您现在很容易受到 MITM 攻击,因为您不知道与谁交谈。仅出于测试目的,不建议关闭验证。

以上是关于libcurl 中不支持或禁用协议“curl https”的主要内容,如果未能解决你的问题,请参考以下文章

libcurl 中不支持或禁用协议“https”-如何检查当前版本的 libcurl [关闭]

libcurl 中不支持或禁用协议“curl https”

Cocoapods在libcurl中未支持或禁用“https”

Http协议之libcurl实现

libcurl

我正在尝试使用 PHP 连接到 Azure 服务总线队列,但我不断收到此错误