需要与libcurl的用户名/密码认证帮助(Need help with libcurl usern

2019-08-03 01:54发布

我试图访问我们的服务器的一个安全网页。 该网页是一个需要用户名和密码的.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变量快到了空白。 有没有办法让错误消息从卷曲回来? 难道我做错了什么? 我以前也用过没有成功CURLLAUTH_ALL,但我相信我只是有基本授权反正。

Answer 1:

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

可用的错误代码都记录在这里 。



文章来源: Need help with libcurl username/password authentication
标签: php curl libcurl