天天看點

PHP 使用 stream_get_meta_date ,stream_get_contents 擷取網頁内容

PHP 使用 擷取網頁内容:

if (! preg_match('@^https?://@', $url)) {
    die('HTTP(s) only.');
}

$httpOpts = array(
    'max_redirects' => 0
    ,'timeout' => 3
);
if ($ua !== '') {
    $httpOpts['user_agent'] = $ua;
}
if ($cook !== '') {
    $httpOpts['header'] = "Cookie: {$cook}\r\n";
}
$ctx = stream_context_create(array(
    'http' => $httpOpts
));

// fetch
if (! ($fp = @fopen($url, 'r', false, $ctx))) {
    die('Couldn\'t open URL.');
}
$meta = stream_get_meta_data($fp);
$content = stream_get_contents($fp);
fclose($fp);      
php