加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

将curl-command转换为php curl

发布时间:2020-12-13 22:58:52 所属栏目:Linux 来源:网络整理
导读:我试图将带有身份验证标头的curl语句转换为php curl请求. 但它似乎没有工作,因为我收到了错误回应’错误:’. curl_error($CH);: error:SSL certificate problem: unable to get local issuer certificate 我的curl-command看起来像这样: curl --user XXXX:
我试图将带有身份验证标头的curl语句转换为php curl请求.
但它似乎没有工作,因为我收到了错误回应’错误:’. curl_error($CH);:

error:SSL certificate problem: unable to get local issuer certificate

我的curl-command看起来像这样:

curl --user XXXX:YYYY "URL"

我的php-curl看起来像这样:

$login = 'XXXX';
$password = 'YYYY';
$url = 'URL';
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_HEADER,true); 
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch,CURLOPT_HTTPAUTH,CURLAUTH_BASIC);
curl_setopt($ch,CURLOPT_USERPWD,"$login:$password");
echo curl_exec($ch);
$result = curl_exec($ch);

if ($result != false){
        echo "SUCCESS";
}else{
        echo "<br>";
        echo 'error:' . curl_error($ch);
        echo "<br>";
    }
curl_close($ch);  
echo($result);

有人看到我的错吗?

解决方法

cURL无法验证正在使用的证书的真实性,因为在本地数据库中找不到签名授权机构的证书.

这可能是使用自签名证书的症状.

您应该做的是将签名权限的证书添加到/etc/ssl/certs/ca-certificates.crt.

你可以做的是使用curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);,这将禁用失败的检查.

你真的应该使用第一个选项.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读