我尝试使用PHP从任何URL读取内容。这是我的代码(localhost):
$ f = file_get_contents('http://www.youtube.com');
但是我收到了这条消息:
无法打开流:连接尝试失败,因为 连接方在一段时间后没有正确回应,或者 建立的连接失败,因为连接的主机失败了 响应。
当我直接打开http://www.youtube.com/时,没关系。所以我的连接没有错。 这种失败取决于我的php配置还是其他什么?
答案 0 :(得分:1)
我只想建议cURL
。 cURL
是解析网站的最佳方法,而不是file_get_contents
。
<?php
$ch = curl_init("http://www.example.com/");
$fp = fopen("example_homepage.txt", "w");
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);
?>
http://php.net/manual/en/book.curl.php
http://www.sitepoint.com/using-curl-for-remote-requests/
cURL不需要任何配置。 一些webhosts会阻止函数files_get_contents,所以每次cURL最好。
为什么file_get_contents不起作用你可以阅读SO ans。
答案 1 :(得分:0)
这里是:
<?php
echo file_get_contents('http://www.youtube.com');
?>
它在chrome和firefox中都很完美,我不是什么问题吗? 再检查一次......