2015-12-25 44 views
5

正如問題所述,檢查網站鏈接是否有效的最有效方法是什麼?檢查網頁是否啓動最有效的方法?

目前我正在執行以下代碼,但是當應用於20個URL的列表時,需要花費很長時間才能完成。

if let data = NSData(contentsOfURL: NSURL(string: thisURL)!) { 
    println(thisURL) 
} else { 
    println("doesn't exist") 
    break 
} 
+0

如果它是一個HTTP URL,您可以使用HEAD請求方法來快速檢查鏈接是否有效。坦率地說,我不熟悉NSURL的用法,但是看看這個[link](http://sutes.co.uk/929/nsurlconnection-using-head-met.html)是否可以幫助模擬使用NSURL的HEAD請求。因爲網絡調用總是會造成一些延遲,所以如果可行的話,可以考慮在多個線程之間分發URL請求。 –

+1

此答案解決了您的問題:http://stackoverflow.com/a/29050673/1079908 – ferit

回答

0

上述解決方案僅告訴您是否有有效的Internet連接 - 假設有Google.com可用。如果你想檢查一組網站的可用性,你將需要單獨檢查每個網站 - 然後你堅持超時限制。

一種解決方案是推出20個後臺任務,試圖在同一時間訪問每個網站,並建立了全面的答案,結果進來,

根據您的應用程序,它可能是有效的做在一個後臺任務中整個20塊 - 如果你可以在你的過程中足夠早地開始,可能不需要很長時間 - 只是它看起來不會阻擋用戶。

相關問題