php cURL无法从(openssl) https地址检索xml


php cURL unable to retrieve xml from (openssl) https address

我的任务是从https://test24.highrisehq.com/tasks/upcoming.xml检索一个xml,它是一个安全连接,需要身份验证。我试图实现这一使用curl,但我不知道为什么用户名和密码的事情是不为我工作。下面是我的代码:

$url = "https://test24.highrisehq.com/tasks/upcoming.xml"; 
$ch = curl_init();     
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/xml', 'Content-Type: application/xml'));
curl_setopt($ch, CURLOPT_USERPWD, "omayrakhtar@gmail.com:akhtar1234");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,true);
curl_setopt($ch, CURLOPT_CAINFO, "D:'wamp'www'xml'-.highrisehq");
//curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch, CURLOPT_URL, $url);  

$result = curl_exec($ch);  
print_r($result); 

问题是,当我将VERIFYPEER设置为true时,我在浏览器上没有显示任何内容,当它设置为false时,我得到HTTP基本:拒绝访问。curl和openssl都是启用的。代码中的凭证是正确的,如果有人想使用它,他是非常受欢迎的。非常感谢您的帮助。

Umair

将CURLOPT_SSL_VERIFYPEER标志设置为false仅表明您对验证ssl证书不感兴趣,并且与您失败的HTTP身份验证无关。如果您想启用证书验证,您可能需要考虑安装ca-bundle。

当前真正的问题是HTTP验证。似乎您提供的凭据(CURLOPT_USERPWD)没有授予您所需的权限。您必须与他们联系以获得工作证书。