2015-12-25 41 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块 - 如果你可以在你的过程中足够早地开始,可能不需要很长时间 - 只是它看起来不会阻挡用户。

相关问题