簡體   English   中英

ssl證書在curl

[英]ssl certificate in curl

我試圖為我的問題找到解決方案,並且找到了這篇文章 我實現它並得到這個錯誤

cURL Error: SSL certificate problem: self signed certificate

這就是我保存cacert.pem的過程,我將其復制並粘貼到記事本中,並將其放置到我的路徑C:\\ xampp \\ htdocs \\ test中 ,保存后將變為cacert.pem.txt 我不知道這是否是正確的方法。 帖子說需要一個PATHTO(我認為應該保存cacert.pem文件夾)。 我把這個放到php.ini

curl.cainfo = "C:\xampp\htdocs\test\cacert.pem.txt"

這就是我卷曲的代碼。

function curl_generator($url,$postData = array()){

    if($url){
        $data_string = json_encode($postData);

        $ch = curl_init($url);
        //curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
        curl_setopt($ch, CURLOPT_HEADER,0);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
        curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 1);
        curl_setopt ($ch, CURLOPT_CAINFO, 'C:\xampp\htdocs\test\cacert.pem.txt');
        curl_setopt($ch, CURLOPT_HTTPHEADER, array(
                'Content-Type: application/json',
                'Content-Length: ' . strlen($data_string))
        );

        $result = curl_exec($ch);
        if ($result === FALSE) {                
            echo "cURL Error: " . curl_error($ch);  
        }
        curl_close($ch);

        return json_decode($result);
    }else{
        return false;
    }
}

我不知道這是否正確。 我現在很困惑,也沒有錯誤的想法。

替換此行

 curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER,1);

curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM