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

时间:2011-07-07 04:24:20

标签: php authentication curl https openssl

我的任务是从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 Basic:访问被拒绝。 curl和openssl都启用了。代码中的凭据是正确的,如果有人想使用它,他非常欢迎。感谢您的帮助。

此致

Umair

1 个答案:

答案 0 :(得分:1)

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

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