有什么方法可以避免因发送多个 PHP file_get_contents 请求而被拒绝 (403)?

Any way to avoid getting denied (403) due to sending multiple PHP file_get_contents requests?

我写了一个 WP 插件,可以执行以下操作:

在每次加载页面时,插件都会使用 file_get_contents() 和 XML 提要检索整个博客文章的 Facebook 图数据(社交计数)。我在一个有 60 多个帖子的实时网站上测试它,当我还在做一些测试时,我的 IP 突然被阻止并且每次都被拒绝 (403)。

我的问题是,如果真实用户安装此插件及其访问者,是否会发生这种情况?有没有这种方法可以避免因许多 PHP 请求而被拒绝? 我也是用WPTransients API缓存数据一个小时

此致。

P.S: 我在我的本地主机上测试了插件,它工作正常。

快速解决方法是,如果您必须发送那么多,可能会增加一个小的延迟,尽管您可能希望将其分解得更多一些(分页)。

只需在执行请求之前的迭代中执行(延迟 1/2 秒)注意这可能会增加相当大的延迟:

usleep(500000);

干杯。

我找到了这个很棒的工具:

http://api.facebook.com/restserver.php?method=links.getStats&format=json&urls={URLs here separated by commas}

这让我可以非常快速地获取我测试过的 63 个 URL 的数据。我不知道是否有限制,但一定会阅读它。

谢谢大家:)