无论HTTP状态码是什么,我如何获取页面内容?
问题描述:
我目前使用file_get_contents()
来获取页面的内容,这有点像一个认证API。它适用于大多数人使用的默认系统(它只使用默认的HTTP/1.1 200状态码),但有些人发送相关的HTTP状态码以用于不同的错误。例如401 PASSWORD_FAIL,在这种情况下,它会将HTTP状态设置为401并向页面输出“PASSWORD_FAIL”,这是我想要获得的部分。但401状态代码导致file_get_contents()
错误,不做任何事情。什么是最简单的PHP函数我可以用来获取页面的内容,并忽略HTTP状态代码?无论HTTP状态码是什么,我如何获取页面内容?
答
$opts = array('http' =>
array(
'ignore_errors' => true,
)
);
$context = stream_context_create($opts);
$result = file_get_contents($url, false, $context);
答
您可以使用函数stribet。
function stribet($inputstr, $deliLeft, $deliRight) {
$posLeft = stripos($inputstr, $deliLeft) + strlen($deliLeft);
$posRight = stripos($inputstr, $deliRight, $posLeft);
return substr($inputstr, $posLeft, $posRight - $posLeft);
}
$ res = file_get_contents(“web page”); $ test = @ $ this-> stribet($ res,'<html>
','</html>
');
更多信息检查PHP.Net stripos