2

我正在尝试访问我们其中一台服务器上的安全网页。该网页位于需要用户名和密码的 .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 没有成功,但我相信我只是有基本的授权。

4

1 回答 1

2

使用curl_errno()andcurl_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);

此处记录了可用的错误代码。

于 2009-08-29T00:57:17.320 回答