我尝试使用curl访问受保护的站点(.htpasswd)以检查它是否可访问并返回类似200或302的代码。
我尝试使用错误的密码和用户名访问它。我不想登录,我只想查看它是否在线/可以访问。
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE),true
如何通过curl获取401代码?
林'像这样检查http代码,但是在htpasswd中,它是空的
.DS_Store
提前谢谢!
答案 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;
?>