标签:ios-网络
读书笔记:http://www.mincoder.com/article/2576.shtml
程序的实现需要借助几个对象:
NSURLRequest:建立了一个请求,可以指定缓存策略、超时时间。和NSURLRequest对应的还有一个NSMutableURLRequest,如果请求定义为NSMutableURLRequest则可以指定请求方法(GET或POST)等信息。
NSURLConnection:用于发送请求,可以指定请求和代理。当前调用NSURLConnection的start方法后开始发送异步请求。
Get和POST都是不行的,正确的做法是这样的:
要分段下载,每次请求下载的范围,服务根据范围响应这部分的数据,对于文件大小信息如何获取呢?采用HEAD请求拿到。
NSURLConnection的改良对象。
使用AFNetworking框架检测,发送一个URL然后去检测网络状态变化,网络改变后则调用相应的网络状态改变方法。
#pragma mark 网络状态监测-(**void**)checkNetworkStatus{
//创建一个用于测试的url
NSURL *url=[NSURL URLWithString:@"http://www.apple.com"];
AFHTTPRequestOperationManager *operationManager=[[AFHTTPRequestOperationManager alloc]initWithBaseURL:url];
//根据不同的网络状态改变去做相应处理
[operationManager.reachabilityManager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
**switch** (status) {
**case** AFNetworkReachabilityStatusReachableViaWWAN:
[**self** alert:@"2G/3G/4G Connection."];
**break**;
**case** AFNetworkReachabilityStatusReachableViaWiFi:
[**self** alert:@"WiFi Connection."];
**break**;
**case** AFNetworkReachabilityStatusNotReachable:
[**self** alert:@"Network not found."];
**break**;
**default**:
[**self** alert:@"Unknown."];
**break**;
}
}];
//开始监控
[operationManager.reachabilityManager startMonitoring];}
标签:ios-网络
原文地址:http://blog.csdn.net/wwq100/article/details/44722837