我正在尝试访问我们其中一台服务器上的安全网页.该网页位于受.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);