1

我需要从 https 站点获取信息,它具有 http 身份验证,我做了一些研究,我知道我需要使用 curl 所以有我的代码

$ch = curl_init();
$url = 'https:/....';
$username ='user';
$password ='userspassword';
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_SSLKEYTYPE,"PEM");
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSLCERT, '/var/www/cert/ows.pem');
curl_setopt($ch, CURLOPT_SSLCERTPASSWD, ' ');
curl_setopt($ch, CURLOPT_SSLKEY, '/var/www/cert/ssl-cert-snakeoil.pem');
curl_setopt($ch, CURLOPT_SSLKEYPASSWD, ' ');

curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($ch, CURLOPT_SSLVERSION,3)

我得到“无法设置私钥文件:'/var/www/cert/ssl-cert-snakeoil.pem' 类型 PEM58”如果我不使用任何 pem,我会从服务器得到空响应,如果我这样做我不能加载它们.. 在我的系统上哪里可以找到 sslcert 和 sslkey?以及如何正确格式化它们,因为如果我直接从 Firefox 导出它们。

4

0 回答 0