PHP文件获取内容($url);字段仅为某些URL打开流

PHP文件获取内容($url);字段仅为某些URL打开流,php,web-scraping,simple-html-dom,Php,Web Scraping,Simple Html Dom,我有一个有效的代码 $html = file_get_contents('https://www.imdb.com/'); echo $html; 这段代码也可以工作 $html = file_get_contents('https://www.google.com/'); echo $html; 但它不适用于以下URL: $html = file_get_contents('https://www.rottentomatoes.com/'); echo $html; 我得到了这个错误 W

我有一个有效的代码

$html = file_get_contents('https://www.imdb.com/');
echo $html;
这段代码也可以工作

$html = file_get_contents('https://www.google.com/');
echo $html;
但它不适用于以下URL:

$html = file_get_contents('https://www.rottentomatoes.com/');
echo $html;
我得到了这个错误

Warning: file_get_contents(https://www.rottentomatoes.com/tv/friends): failed to open stream: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
我不明白为什么会这样? 并且网站在浏览器中加载时没有问题,也不需要vpn(但其他url可能需要)

我还使用了简单的HTMLDOM解析器,在1.9版本中我得到了这个错误,在2.0RC2版本中我得到了空的
$HTML
NULL


有人能帮我吗?

你不能在任何网站上使用
文件获取内容()
功能! 目前是第二个网站
https://www.rottentomatoes.com/
正在拒绝您的连接


请阅读更多关于如何使用

appability@berend的内容,这有点类似,但他们的答案基于运气!根据网站及其为防止刮取而实施的解决方案的不同,Web刮取可能是一项复杂的任务,在可能的情况下:一些网站可能需要一些cookie作为保护(可能使用curl启用),它们还可以检查请求是否来自浏览器,只允许某些方法(如POST或GET),或者,如果他们使用JS框架呈现页面,您可能会得到不完整的结果。。添加细节可以帮助人们正确回答问题you@Kaddath谢谢你提供有用的信息。在继续之前,我有点想知道为什么这个完全相同的代码适用于我在另一个国家的朋友,而不是每次他运行它而不是为我工作时的1?可能取决于网络连接?我不知道know@Kaddath谢谢,我会尝试一下,但是没有太多关于网站垃圾的信息。那么简单的HTMLDOM呢?我还测试了php guzzle,我如何解决这个问题?但这有点奇怪,我有一个朋友,他只是复制了我的代码和它的作品,他们如何不阻止他的请求!但他的处境不同country@BurhanKashour当我尝试我所知道的一切,然后在这里问我的问题。我还测试了
cUrl
并设置了header等内容,但没有成功either@BurhanKashour我真的不记得这个错误了。但我会再次测试