GET请求
1 AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
2
3 [manager GET:URL parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) {
4
5 }
6 success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
7
8 NSLog(@"这里打印请求成功要做的事");
9
10 }
11
12 failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
13
14 NSLog(@"%@",error); //这里打印错误信息
15
16 }];
POST 请求
1 AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
2
3
4 NSMutableDictionary *parameters = @{@"":@"",@"":@""};
5
6 [manager POST:URL parameters:parameters progress:^(NSProgress * _Nonnull uploadProgress) {
7
8
9 } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
10
11
12 } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
13
14 }];
下载
1 //1.创建管理者对象
2 NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
3 AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc] initWithSessionConfiguration:configuration];
4
5 //2.确定请求的URL地址
6 NSURL *url = [NSURL URLWithString:@""];
7
8 //3.创建请求对象
9 NSURLRequest *request = [NSURLRequest requestWithURL:url];
10
11 //下载任务
12 NSURLSessionDownloadTask *task = [manager downloadTaskWithRequest:request progress:^(NSProgress * _Nonnull downloadProgress) {
13 //打印下下载进度
14 NSLog(@"%lf",1.0 * downloadProgress.completedUnitCount / downloadProgress.totalUnitCount);
15
16 } destination:^NSURL * _Nonnull(NSURL * _Nonnull targetPath, NSURLResponse * _Nonnull response) {
17 //下载地址
18 NSLog(@"默认下载地址:%@",targetPath);
19
20 //设置下载路径,通过沙盒获取缓存地址,最后返回NSURL对象
21 NSString *path = [[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"] stringByAppendingPathComponent:response.suggestedFilename];
22 NSLog(@"%@", path);
23 return [NSURL fileURLWithPath:path];
24
25
26 } completionHandler:^(NSURLResponse * _Nonnull response, NSURL * _Nullable filePath, NSError * _Nullable error) {
27
28 //下载完成调用的方法
29 NSLog(@"下载完成:");
30 NSLog(@"%@--%@",response,filePath);
31
32 }];
33
34 //开始启动任务
35 [task resume];
上传
1 NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
2 AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:configuration];
3
4 NSURL *URL = [NSURL URLWithString:@"http://example.com/upload"];
5 NSURLRequest *request = [NSURLRequest requestWithURL:URL];
6
7 NSURL *filePath = [NSURL fileURLWithPath:@"file://path/to/image.png"];
8 NSURLSessionUploadTask *uploadTask = [manager uploadTaskWithRequest:request fromFile:filePath progress:nil completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) {
9 if (error) {
10 NSLog(@"Error: %@", error);
11 } else {
12 NSLog(@"Success: %@ %@", response, responseObject);
13 }
14 }];
15 [uploadTask resume];
监测当前网络状态(网络监听)
1 {
2 // 进行网络监测判断的BOOL值
3 BOOL isOpen;
4 }
1 if (!isOpen) {
2
3 // 打开网络监测的方法
4 [[AFNetworkReachabilityManager sharedManager] startMonitoring];
5 isOpen = YES;
6
7 } else {
8
9 // 关闭网络监测
10 [[AFNetworkReachabilityManager sharedManager] stopMonitoring];
11 isOpen = NO;
12 }
13
14 // 接下来会判断是WiFi状态,还是3g或4g状态,还有网络不可用状态
15 [[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
16
17 switch (status) {
18 case AFNetworkReachabilityStatusUnknown:
19 NSLog(@"未知状态");
20 break;
21
22 case AFNetworkReachabilityStatusNotReachable:
23 NSLog(@"未连接状态");
24 break;
25
26 case AFNetworkReachabilityStatusReachableViaWWAN:
27 NSLog(@"手机流量网络");
28 break;
29
30 case AFNetworkReachabilityStatusReachableViaWiFi:
31 NSLog(@"WiFi状态");
32 break;
33
34 default:
35 break;
36 }
37 }];