2024年12月31日 建站教程
AFNetworking
是IOS平台上最著名的第三方网络库。它基于NSURLSession
,提供了更高层的网络请求封装,解决了NSURLSession
一些复杂的API问题,让网络编程变得更加简单易用。
利用AFNetworking的GET请求的示例代码:
objc AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; [manager GET:@"https://lmcjl.com/get" parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { NSLog(@"%@", responseObject); } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { NSLog(@"Error: %@", error); }];
利用AFNetworking上传图片的示例代码:
NSURL *url = [NSURL URLWithString:@"https://lmcjl.com/post"]; AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc] initWithBaseURL:url]; NSString *filePath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"png"]; NSURL *fileURL = [NSURL fileURLWithPath:filePath]; NSDictionary *parameters = @{@"name": @"AFNetworking"}; [manager POST:url.path parameters:parameters headers:nil constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) { [formData appendPartWithFileURL:fileURL name:@"file" fileName:@"test.png" mimeType:@"image/png" error:nil]; } progress:^(NSProgress * _Nonnull uploadProgress) { // 上传进度 } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { NSLog(@"Success: %@", responseObject); } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { NSLog(@"Error: %@", error); }];
AFNetworking 的主要特点:
1、简单友好的 API,隐藏 NSURLSession 的复杂性。
2、上传、下载的进度监控跟踪。
3、对 JSON 的解析支持。
4、支持通知机制。
5、简单易用的 SSL pinning 和天然的 IPv6 支持。
本文链接:http://so.lmcjl.com/news/20440/