直到最近,我还运行了一个自动脚本,该脚本违背 Gamestop.com 收集游戏名称/价格等。
然而,截至上周,使用 file_get_contents 似乎超时(它比必要的时间长得多,然后返回 false)。起初我认为他们可能一直在阻止我的服务器的 IP,但在我本地开发机器上检查它时,我得到了相同的结果。
所以,我的问题是,有没有办法验证导致函数返回 false 的实际情况?我偷偷怀疑他们可能正在阻止带有file_get_contents显示的标头的请求,这可能吗?
如果有人还想在本地尝试代码进行健全性检查,这里有一个非常简单的测试:
<?php
$test = file_get_contents("http://www.gamestop.com")
echo $test;
?>
提前感谢任何帮助!
这实际上是Gamestop阻止了用户代理的脚本,无论出于何种原因......
解决方案是将用户代理设置为浏览器,然后一切正常。