无论HTTP状态代码是什么,如何获取页面内容?

时间:2010-08-13 22:25:59

标签: php file-get-contents

我目前正在使用file_get_contents()来获取有点类似于身份验证API的页面内容。它适用于大多数人使用的默认系统(它只使用默认的HTTP / 1.1 200状态代码),但是有些人会针对不同的错误发送相关的HTTP状态代码。例如401 PASSWORD_FAIL,在这种情况下,它会将HTTP状态设置为401并输出'PASSWORD_FAIL'到页面,这是我想要的部分。但401状态代码导致file_get_contents()错误输出而不执行任何操作。什么是最简单的PHP函数,我可以使用它来获取页面的内容,只是忽略HTTP状态代码?

2 个答案:

答案 0 :(得分:3)

$opts = array('http' =>
    array(
        'ignore_errors'  => true,
    )
);

$context  = stream_context_create($opts);
$result = file_get_contents($url, false, $context);

请参阅http wrapper context options上的手册。

答案 1 :(得分:0)

您可以使用功能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(“网页”); $测试= @ $这 - &GT; stribet($ RES, '<html>', '</html>');

了解详情PHP.Net stripos