微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php-需要有关libcurl用户名/密码验证的帮助

我正在尝试访问我们其中一台服务器上的安全网页.该网页位于受.htaccess保护的目录中,该目录需要用户名和密码.我正在尝试让libcurl提交身份验证请求,以便它可以访问文件.在各个地方找到一些指导之后,我想出了我认为应该起作用的方法,但是没有奏效.

$url="https://www.myurl.com/htaccess_secured_directory/file.PHP";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);    
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); 
curl_setopt($ch, CURLOPT_USERPWD, 'myusername:mypassword');
$result = curl_exec($ch);
echo $result;

file.PHP文件应仅回显“ Hello World!”,但$result变量变为空白.有没有办法从curl恢复错误消息?难道我做错了什么?我也曾经使用CURLLAUTH_ALL没有成功,但是我相信我只是拥有基本的授权.

解决方法:

使用curl_errno()和curl_error()检索错误信息,即:

$url="https://www.myurl.com/htaccess_secured_directory/file.PHP";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);    
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); 
curl_setopt($ch, CURLOPT_USERPWD, 'myusername:mypassword');
$result = curl_exec($ch);

if(curl_errno($ch))
{
  echo 'Curl error: ' . curl_error($ch);
}
else
{    
  echo $result;
}

curl_close($ch);

可用的错误代码记录在here中.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐