【问题标题】:php cURL unable to retrieve xml from (openssl) https addressphp cURL 无法从(openssl)https 地址检索 xml
【发布时间】:2011-09-30 03:38:42
【问题描述】:

我的任务是从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: Access denied。 curl 和 openssl 都已启用。代码中的凭据是正确的,如果有人想使用它,他非常受欢迎。我们将不胜感激。

问候

乌梅尔

【问题讨论】:

    标签: php authentication curl https openssl


    【解决方案1】:

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

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

    【讨论】:

    • 是的,你是对的,我使用的凭据不是必需的,它是别的东西。谢谢老哥
    猜你喜欢
    • 2010-11-25
    • 2017-04-30
    • 2018-11-21
    • 1970-01-01
    • 2010-12-31
    • 1970-01-01
    • 2017-04-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多