NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"www.baidu.com"]cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:30.0]; [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response,NSData *data,NSError *error) { if ([data length] > 0 && error == nil) { NSString *html = [[NSString alloc]initWithData:data encoding:NSASCIIStringEncoding]; //操作 } else if ([data length] == 0 && error ==nil) { //沒有資料 } else if (error != nil) { //逾時 } else { } }];
另:CachePolicy類型。NSURLRequestCachePolicy。
1、NSURLRequestUseProtocolCachePolicy NSURLRequest預設的cache policy,使用Protocol協議定義。
2、NSURLRequestReloadIgnoringCacheData 忽略緩衝直接從原始地址下載。
3、NSURLRequestReturnCacheDataElseLoad 只有在cache中不存在data時才從原始地址下載。
4、NSURLRequestReturnCacheDataDontLoad 只使用cache資料,如果不存在cache,請求失敗;用於沒有建立網路連接離線模式;
5、NSURLRequestReloadIgnoringLocalAndRemoteCacheData:忽略本地和遠端快取資料,直接從原始地址下載,與NSURLRequestReloadIgnoringCacheData類似。
6、NSURLRequestReloadRevalidatingCacheData:驗證本機資料與遠端資料是否相同,如果不同則下載遠端資料,否則使用本機資料。