写了这么多博客,一直没记起来写AFNetworking框架的使用,通过@踩尾巴的妖精的提醒才发现,如今整理点简单的例子:
json
GET:app
// 1.得到请求管理者 AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager]; // 2.封装请求参数 NSMutableDictionary *params = [NSMutableDictionary dictionary]; params[@"userId"] = [appDefault objectForKey:@"userId"]; params[@"IMSI"] = _IMSI.text; params[@"nickName"] = _nickName.text; params[@"phoneNumber"] = _phoneNumber.text; NSString *url = [ServiceInfo stringByAppendingString:@"http://103.238.80.57:8080/Vietnam/Application/bindingDevice"]; // 3.发送GET请求 [mgr GET:url parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) { NSLog(@"%@",responseObject); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"%@",error); }];
POST:框架
// 1.得到请求管理者 AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager]; // 2.封装请求参数 NSMutableDictionary *params = [NSMutableDictionary dictionary]; params[@"userId"] = [appDefault objectForKey:@"userId"]; params[@"IMSI"] = _IMSI.text; params[@"nickName"] = _nickName.text; params[@"phoneNumber"] = _phoneNumber.text; NSString *url = [ServiceInfo stringByAppendingString:@"http://103.238.80.57:8080/Vietnam/Application/bindingDevice"]; // 3.发送GET请求 [mgr POST:url parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) { NSLog(@"%@",responseObject); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"%@",error); }];
值得注意的是,AFNetworking默认是使用JSON格式发送和响应返回来的数据的,若是返回来的数据不是JSON,就须要设置一下请求管理者,下面请看代码:url
// 1.得到请求管理者 AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager]; // 由于传递过去和接收回来的数据都不是json类型的,因此在这里要设置为AFHTTPRequestSerializer和AFHTTPResponseSerializer mgr.requestSerializer = [AFHTTPRequestSerializer serializer];// 请求 mgr.responseSerializer = [AFHTTPResponseSerializer serializer];// 响应 // 2.封装请求参数 NSMutableDictionary *params = [NSMutableDictionary dictionary]; params[@"userId"] = [appDefault objectForKey:@"userId"]; params[@"IMSI"] = _IMSI.text; params[@"nickName"] = _nickName.text; params[@"phoneNumber"] = _phoneNumber.text; NSString *url = [ServiceInfo stringByAppendingString:@"http://103.238.80.57:8080/Vietnam/Application/bindingDevice"]; // 3.发送GET请求 [mgr GET:url parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) { // 转码,若是返回的数据不是JSON,这里必需要转码 NSString *string = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding]; NSLog(@"%@",string); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"%@",error); }];