我创建了一个在我的#########。com帐户中登录的流程。当我把它放在我的FTP上时,它就像一个魅力。
这是问题:
我在localhost:8080上的机器上设置了一个apache本地服务器(easyPHP)。 我还在我的机器上设置了一个IIS服务器端口 - >本地主机:80
我的cURL请求不起作用。这是我的代码:
$lien = 'https://#########.com/login';
$postfields = array(
'username' => 'xxx',
'password' => 'xxx'
);
$path_cookie = 'connexion.txt';
if (!file_exists(realpath($path_cookie))) touch($path_cookie);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $lien);
curl_setopt($curl, CURLOPT_COOKIESESSION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postfields);
curl_setopt($curl, CURLOPT_COOKIEJAR, realpath($path_cookie));
$return = curl_exec($curl);
echo($return);
echo 'error:' . curl_error($curl);
curl_close($curl);
}
首先:是的我在服务器上安装了cURL,我在我的apache服务器和IIS服务器之间做了一些其他的cURL请求,一切正常。
其次:文件“connexion.txt”很好创建,但为空。
第三:($ return)的回显没有响应,在我的服务器上响应是“对象移到这里。”
第四:是的,我读了这个主题,但对我帮助不大..
最后:当我尝试调试cURL请求时,错误是:
错误:SSL证书问题:无法获得本地颁发者证书
有人能帮帮我吗?我将留在这里回答评论/测试/调试/回答等。
谢谢!
答案 0 :(得分:5)
您很可能根本不使用证书,因此请使用http或尝试使用
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
答案 1 :(得分:2)
将“CURLOPT_SSL_VERIFYHOST”设置为false并不是一个好习惯。
我建议您下载CA根证书包并告诉PHP在哪里找到它。
curl.cainfo="C:\Xamp\php\cacert.pem"
安全地完成了工作。