2011-11-12 37 views
0

我正在使用file_get_contents通過代理來獲取網頁。這個設置現在很好,但從昨天開始,它開始產生奇怪的結果。通過代理問題的file_get_contents

file_get_contents函數的輸出是一個過時的頁面。如果我更改了代理服務器,我可以在php中獲取phpinfo頁面或所有已初始化變量的打印陣列,這兩個服務器都連接到 - 取決於代理的結果。

在我的服務器中是否存在緩存問題或代理中存在緩存問題。他們的服務器可能是負責任的嗎?

此外,直接訪問頁面或通過Web代理訪問頁面不會遇到上述問題。

回答

1

代理最有可能緩存頁面。 file_get_contents()是一個簡單的獲取源並存儲在內存函數中,它不被緩存。我知道魷魚代理有很多設置緩存,但你必須詳細說明你的代理設置的任何進一步的幫助

+0

奇怪的是,如果我使用另一臺代理服務器,我得到相同的過時的頁面它相同的狀態 - 這是我認爲問題出在我身邊的地方。 –

+0

奇怪。它肯定不是file_get_contents()。它從這個位置簡單地讀取並存儲在記憶功能中。因此,無論您的服務器上是否有某種mitm緩存系統,都會攔截所有網絡流量(可疑),代理緩存它(您是否嘗試過一個完全模糊的代理?它很少見,但我看到一些人愚蠢地配置代理服務器,使用像靜態緩存不注意誰在尋找頁面等,這樣你就可以得到其他人使用該代理請求的舊頁面。再一次,它是可疑的) – Lee

+0

或其發送頁面的服務器可能有一些緩存控制,您的瀏覽器可能會忽略,但代理或服務器正在遵守。說實話,它是一個不斷調試和追蹤的例子。我無法給你一個黑色和白色的答案,沒有從字面上做相同的過程,並從我自己的調查得出答案 – Lee