AFNetworking使用,afnetworking
//Get請求資料
+ (void)get:(NSString *)urlStr params:(NSDictionary *)params success:(void (^)(id))success failure:(void (^)(NSError *))failure
{
// 1.獲得要求管理者
AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];
NSString *URL = [NSString stringWithFormat:@"%@%@",HOST,urlStr];
NSLog(@"%@",URL);
// 2.發送GET請求
[mgr GET:URL parameters:params
success:^(AFHTTPRequestOperation *operation, id responseObj) {
if (success) {
success(responseObj);
}
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
if (failure) {
failure(error);
}
}];
}
//Post請求資料
+ (void)post:(NSString *)urlStr params:(NSDictionary *)params success:(void (^)(id))success failure:(void (^)(NSError *))failure
{
if ([[self class] checkNetworkState]) {
//擷取公用參數
NSMutableDictionary *requestParms = [[self class] publicParms];
if (params!=nil) {
//不為空白 合并字典,公用參數字典
[requestParms addEntriesFromDictionary:params];
}
//1.獲得要求管理者
AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];
/********這裡很重要********/
//1.mgr.responseSerializer = [AFJSONResponseSerializer serializer];
//2.mgr.requestSerializer = [AFJSONRequestSerializer serializer];
//3.mgr.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"application/json"];
NSString *URL = [NSString stringWithFormat:@"%@%@",HOST,urlStr];
NSLog(@"當前介面URL==%@",URL);
NSLog(@"當前接請求的 參數 ==%@",requestParms);
// 2.發送POST請求
[mgr POST:URL parameters:requestParms success:^(AFHTTPRequestOperation *operation, id responseObj) {
success(responseObj);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
failure(error);
[MBProgressHUD hideAllHUDsForView:[UIApplication sharedApplication].keyWindow animated:YES];
NSLog(@"底層失敗 ==error ==%@",[error localizedDescription]);
[MBProgressHUD showError:@"網路不給力,稍後再試" toView:[UIApplication sharedApplication].keyWindow];
}];
}else{
[MBProgressHUD hideAllHUDsForView:[UIApplication sharedApplication].keyWindow animated:YES];
[MBProgressHUD showError:@"網路已斷開,請檢查網路連接" toView:[UIApplication sharedApplication].keyWindow];
failure(nil);
}
}