簡體   English   中英

有什么方法可以避免由於發送多個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 feed來檢索整個博客文章的Facebook圖形數據(社交計數)。 我在一個有60多個帖子的實時站點上對其進行了測試,當我仍在進行某些測試時,突然我的IP被阻止了,每次都被拒絕(403)。

我的問題是,如果實際用戶安裝此插件及其訪問者,這會發生嗎? 有這樣一種方法來避免由於許多PHP請求而被拒絕嗎? 我還使用WP Transients API將數據緩存一個小時。

問候。

PS:我在本地主機上測試了插件,並且工作正常。

快速解決方案是,如果您必須發送那么多延遲,則可能會增加一個小的延遲,盡管您可能想將其分解一些(分頁)。

只需在執行請求之前進行迭代(延遲1/2秒),注意這可能會增加相當大的延遲:

usleep(500000);

干杯。

我發現了這個很酷的工具:

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

這樣一來,我就可以針對63個經過測試的網址如此快地獲取數據。 我不知道是否有限制,但一定會閱讀。

感謝大家 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM