PHP - file_get_contents 无法打开流:连接已关闭?

PHP - file_get_contents failed to open stream: Connection closed?

实施(url有效且运行url):

$html = file_get_contents($url);

我在php编写爬虫,有时file_get_contentsreturns出现以下错误:

failed to open stream: Connection closed

这并不总是发生,所以当它发生时,我有点困惑。这是我这边的错误还是我正在抓取的网站?无论哪种方式,继续重试直到错误不发生或有更好的方法是明智的吗?

您需要为此创建一个流

Read stream_context_create

<?php
// Create a stream 
$opts = array(
                'http'=>array(
                 'method'=>"GET",
                'header'=>"Accept-language: en\r\n" .
                "Cookie: foo=bar\r\n"
             )
       );

 $context = stream_context_create($opts);

 // Open the file using the HTTP headers set above
  $file = file_get_contents($url, false, $context);
?>

使用php CURL 库http://php.net/manual/en/book.curl.php 为了更好地管理客户端请求。file_get_contents() 函数因主机服务器

的安全限制而失败

试试这个方法...

function url_get_contents ($Url) {
    if (!function_exists('curl_init')){ 
        die('CURL is not installed!');
    }
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $Url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $output = curl_exec($ch);
    curl_close($ch);
    return $output;
}