0

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

4

2 回答 2

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

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

请参阅有关http 包装器上下文选项的手册。

于 2010-08-13T22:28:47.977 回答
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("网页"); $test=@$this->stribet($res,' <html>',' </html>');

欲了解更多信息,请查看PHP.Net stripos

于 2014-01-22T16:54:06.177 回答