我正在尝试访问其中一台服务器上的安全网页。该网页位于.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但没有成功,但我相信我还是有基本的授权。
答案 0 :(得分:2)
使用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。