2012-07-17 70 views

回答

3

您可以簡單地使用HEAD請求來獲取頁面的標題而不是整個頁面。儘管如此,該網站仍然會生成整個頁面,但至少您不會下載所有內容。

爲了達到這個目的,你可以使用很多方法,只要檢查如何改變請求的頭部,而不是做一個GET,就可以做一個HEAD。

+0

,但它將花費相同的時間來打開網站,它是更可靠,然後打開或捲曲? – Sourabh 2012-07-17 19:26:30

+0

只要你觸發HTTP協議,它將會執行整個頁面,如果服務器/網站不是隻返回頭部的話。你想要的是某種看門狗,但通常情況下,人們將實現一個小網頁,只監聽一個請求並返回一些信息來表明他們還活着。 – 2012-07-17 19:27:51

+0

如果你不能依賴這樣的機制,並且必須獲得主頁,那麼沒有什麼可以做更多的事情,獲得​​主頁,等待所有的數據被處理,但是使用HEAD你只能傳輸一部分迴應並沒有得到一切。 – 2012-07-17 19:28:29

0

你可以發送一個頭部請求並檢查http響應代碼?

+0

請問您能否詳細說明您的答案? – Sourabh 2012-07-17 19:12:00

+0

我不知道還有什麼要說明的。從我的答案開始,使用谷歌進行跟蹤研究會很容易。 – 2012-07-17 19:12:26

+1

@JonTaylor:什麼是標題請求?你如何發送一個?你如何檢查HTTP響應碼?只是因爲它對你來說很明顯,並不意味着它適用於所有其他人:) – 2012-07-17 19:14:50

1

fopen()fread()不讀取整個網頁(不一定是反正)。您可以使用它並只讀取幾個字節來確定網站是否存在(200 OK)。

0
$file = 'http://www.test.com/idontexist.jpg'; 
$file_headers = @get_headers($file); 
if($file_headers[0] == 'HTTP/1.1 404 Not Found') { 
    $exists = false; 
} 
else { 
    $exists = true; 
} 
+0

爲什麼抑制錯誤? – 2012-07-17 19:13:48

相關問題