基础
AFHTTPSessionManager *session = [AFHTTPSessionManager manager];
NSString *url = @"xxxxx";
[session GET:url
parameters:nil
progress:^(NSProgress * _Nonnull downloadProgress) {
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
NSLog(@"JSON: %@", responseObject);
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
NSLog(@"Error: %@", error);
} ];
简易优化
#import "AFNetworking.h"
@interface AppClient : AFHTTPSessionManager
+ (instancetype)sharedClient;
@end
#import "AppClient.h"
static NSString * const APIBaseURLString = @"http://www.baidu.com/";
@implementation AppClient
+ (instancetype)sharedClient {
static AppClient *_sharedClient = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
_sharedClient = [[AppClient alloc] initWithBaseURL:[NSURL URLWithString:APIBaseURLString]];
_sharedClient.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];
});
return _sharedClient;
}
@end
使用
[[AppClient sharedClient] GET:@"s?wd=iOS"
parameters:nil
progress:^(NSProgress * _Nonnull downloadProgress) {
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
NSLog(@"JSON: %@", responseObject);
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
NSLog(@"Error: %@", error);
} ];