我在我的網站上分享facebook內容時遇到問題。它實現了'喜歡'按鈕,但是當你喜歡'你的臉譜上的圖片顯示舊圖片(有意圖緩存的圖片)。這個網站上的東西就是這樣的......每天都有一個女孩的新照片,但url總是一樣的(由apache重寫)。用cURL和lint清除Facebook共享緩存
我必須找到一些方法來自動和定期(當新的圖片設置在網站上)明確的Facebook緩存。
當我把我想要刷新緩存的url直接放在fb調試工具(lint)窗體中並按下'debug'時,當somobody喜歡我網站上的內容時清除緩存並刷新內容。
但問題是,當我嘗試刷新緩存automaticaly(通過PHP腳本或通過cron作業)。 像這樣的東西不工作:
wget http://developers.facebook.com/tools/debug/og/object?q=http://www.vecernji.hr/djevojka-dana
或這樣也沒有工作:
curl http://developers.facebook.com/tools/debug/og/object?q=http://www.vecernji.hr/djevojka-dana
此外,PHP腳本不工作:
$url = "http://developers.facebook.com/tools/debug/og/object?q=http://www.vecernji.hr/djevojka-dana";
$useragent = "Opera/9.80 (X11; Linux x86_64; U; en) Presto/2.10.229 Version/11.60";
if ($ch = curl_init($url))
{
curl_setopt($ch , CURLOPT_HEADER , 0);
curl_setopt($ch , CURLOPT_RETURNTRANSFER , true);
curl_setopt($ch , CURLOPT_USERAGENT , $useragent);
$str_response = curl_exec($ch);
if(curl_errno($ch) != 0)
{
$message = 'Girl of the day - cURL exec error: ' . $ch;
error_log($message);
}
curl_close($ch);
}
else
{
$message = 'Girl of the day - cURL init with url: ' . $url . ' failed';
error_log($message);
}
的內容是一樣在網址上:
http://www.vecernji.hr/djevojka-dana 和 http://www.vecernji.hr/decko-dana
有誰知道我爲什麼不能通過PHP腳本,wget或捲曲刷新緩存的原因,但是當我把直接和手動的給定的URL在皮棉表單,並按提交按鈕的內容刷新?
我看到了這一點,但不適合我,因爲我要「攻擊」林特工具自動,用一些PHP腳本。問題是當我手動去林特網址,並把我希望清除緩存文本框中的一切都很好的url。緩存被清除。但是當我嘗試使用wget或cURL等工具來實現時,它不起作用。高速緩存未被清除。我想我可以使用wget或cURL,因爲我們把url放在緩存中的表單使用簡單的GET請求。 –
這取自[documentation](https://developers.facebook.com/docs/opengraphprotocol/):'curl https://developers.facebook.com/tools/lint/?url={YOUR_URL}&format= json'。 'cURL'代碼會強制你的URL被刮掉* ... – Lix