git下載地址:https://github.com/AFNetworking/AFNetworking
get請求
#import <AFNetworking.h>
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];//這句話最好加上
[manager GET:@"請求鏈接" parameters:@"參數(shù)組" progress:^(NSProgress * _Nonnull downloadProgress) {
//請求進度
}success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
//請求成功
NSDictionary *weatherDic = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableLeaves error:nil];//把NSData轉(zhuǎn)換成字典類型
}failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
//請求失敗
}];
post請求
#import <AFNetworking.h>
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
[manager POST:@"請求鏈接" parameters:@"參數(shù)組" progress:^(NSProgress * _Nonnull uploadProgress) {
//請求進度
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
//請求成功
NSDictionary *weatherDic = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableLeaves error:nil];
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
//請求失敗
}];
文件下載
#import <AFNetworking.h>
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
//下載任務(wù)
NSURLSessionDownloadTask *task = [manager downloadTaskWithRequest:@"請求鏈接" progress:^(NSProgress * _Nonnull downloadProgress) {
//加載進度
} destination:^NSURL * _Nonnull(NSURL * _Nonnull targetPath, NSURLResponse * _Nonnull response) {
//下載存放地址,要返回存放地址(存放地址前面加file://)
return nil;
} completionHandler:^(NSURLResponse * _Nonnull response, NSURL * _Nullable filePath, NSError * _Nullable error) {
// 下載完成之后,解壓縮文件
}];
[task resume];
文件上傳
#import <AFNetworking.h>
//創(chuàng)建管理者對象
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
[manager POST:@"請求鏈接" parameters:@"參數(shù)組" constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) {
//上傳文件參數(shù),dataArray是一個NSData數(shù)組
if (dataArray.count > 0) {
for (NSData *imageData in dataArray) {
[formData appendPartWithFileData:imageData name:dataKey fileName:dataName mimeType:@"image/png"];
}
}
} progress:^(NSProgress * _Nonnull uploadProgress) {
//上傳進度
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
//請求成功(返回的是NSData類型的數(shù)據(jù))
NSDictionary *weatherDic = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableLeaves error:nil];
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
//請求失敗
}];