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 wrapper context optionsのマニュアルを参照してください。

于 2010-08-13T22:28:47.977 に答える
0

関数sribetを使用できます。

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 ストリップを確認してください

于 2014-01-22T16:54:06.177 に答える