這篇文章主要說一下AFNetWorking的get與post用法以及使用AFNetWorking進行圖片上傳的問題
首先,是AFNetWorking的get用法:
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
// 設置超時時間
[manager.requestSerializer willChangeValueForKey:@"timeoutInterval"];
manager.requestSerializer.timeoutInterval = 8.0f;
[manager.requestSerializer didChangeValueForKey:@"timeoutInterval"];
// 不讓AFNetworking自動解析下載下來的內容
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
[manager GET:urlStr parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
if (success) {
DLog(@"success json = %@",operation.responseString);
id result = nil;
result = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:NULL];
if (result == nil) {
}
else
{
//一些自己要的操作
}
}
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
if (failure) {
DLog(@"error = %@",error);
// failure(error);
}
}];
2.AFNetWorking的post用法
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
// 設置超時時間
[manager.requestSerializer willChangeValueForKey:@"timeoutInterval"];
manager.requestSerializer.timeoutInterval = 8.0f;
[manager.requestSerializer didChangeValueForKey:@"timeoutInterval"];
// 不讓AFNetworking自動解析下載下來的內容
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
//body爲要傳給服務器的參數(字典)
[manager POST:urlStr parameters:body success:^(AFHTTPRequestOperation *operation, id responseObject) {
if (success){
DLog(@"success json = %@",operation.responseString);
id result = nil;
result = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:NULL];
if (result == nil) {
}
else{
}
}
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
if (failure) {
DLog(@"error = %@",error);
}
}];
UIImage *image = imgArr[0];
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager.requestSerializer willChangeValueForKey:@"timeoutInterval"];
manager.requestSerializer.timeoutInterval = 10.0f;
[manager.requestSerializer didChangeValueForKey:@"timeoutInterval"];
// 不讓AFNetworking自動解析下載下來的內容
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
[manager POST:urlStr parameters:body constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
NSData *imageData = UIImageJPEGRepresentation(image, 0.5);
[formData appendPartWithFileData:imageData name:@"file" fileName:@"headIcon.png" mimeType:@"image/png"];
} success:^(AFHTTPRequestOperation *operation, id responseObject) {
if (success){
DLog(@"success json = %@",operation.responseString);
id result = nil;
result = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:NULL];
if (result == nil) {
}
}
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
if (failure) {
DLog(@"error = %@",error);
}
}];