如何使用cURL获取受.htpasswd保护的URL的HTTP代码?

时间:2016-04-04 09:47:45

标签: php curl

我尝试使用curl访问受保护的站点(.htpasswd)以检查它是否可访问并返回类似200或302的代码。

我尝试使用错误的密码和用户名访问它。我不想登录,我只想查看它是否在线/可以访问。

$code = curl_getinfo($ch, CURLINFO_HTTP_CODE),true

如何通过curl获取401代码?

林'像这样检查http代码,但是在htpasswd中,它是空的

.DS_Store

提前谢谢!

1 个答案:

答案 0 :(得分:4)

如果您在curl_getinfo函数中使用CURLINFO_HTTP_CODE属性,则可以从curl获取状态代码,如下所示:

<?php
$URL = 'http://yourdomain.com/protected_dir';
$Auth_Username = "username_here";
$Auth_Password = "password_here";

//make curl request
$ch = curl_init($URL);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_USERPWD, "{$Auth_Username}:{$Auth_Password}");  

$Output = curl_exec($ch);

//get http code
$HTTP_Code = curl_getinfo($ch, CURLINFO_HTTP_CODE);    //this is important to get the http code.
curl_close($ch);

echo 'HTTP code: ' . $HTTP_Code;
?>