96 AFNetworking基本使用

来源:互联网 发布:淘宝外卖要实体店吗 编辑:程序博客网 时间:2024/05/17 21:43
1>GET 返回JSON数据:/** *  利用AFN发送一个GET请求,服务器返回的JSON数据 */- (void)getJSON{    // 1.创建一个请求操作管理者    AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];    // 声明一下:服务器返回的是JSON数据    //    mgr.responseSerializer = [AFJSONResponseSerializer serializer];    // responseObject的类型是NSDictionary或者NSArray    // 2.请求参数    NSMutableDictionary *params = [NSMutableDictionary dictionary];    params[@"username"] = @"哈哈哈";    params[@"pwd"] = @"123";    // 3.发送一个GET请求    NSString *url = @"http://localhost:8080/MJServer/login";    [mgr GET:url parameters:params     success:^(AFHTTPRequestOperation *operation, id responseObject) {         // 请求成功的时候调用这个block         NSLog(@"请求成功---%@", responseObject);     } failure:^(AFHTTPRequestOperation *operation, NSError *error) {         // 请求失败的时候调用调用这个block         NSLog(@"请求失败");     }];}
2>GET 返回XML数据:/** *  利用AFN发送一个GET请求,服务器返回的XML数据 */- (void)getXML{    // 1.创建一个请求操作管理者    AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];    // 声明:等会服务器返回的是XML数据    // responseObject的类型是NSXMLParser    mgr.responseSerializer = [AFXMLParserResponseSerializer serializer];    // 2.请求参数    NSMutableDictionary *params = [NSMutableDictionary dictionary];    params[@"username"] = @"哈哈哈";    params[@"pwd"] = @"123";    params[@"type"] = @"XML";    // 3.发送一个GET请求    NSString *url = @"http://localhost:8080/MJServer/login";    [mgr GET:url parameters:params     success:^(AFHTTPRequestOperation *operation, id responseObject) {         // 请求成功的时候调用这个block         NSLog(@"请求成功--%@", responseObject);//         responseObject.delegate = self;//         [responseObject parse];     } failure:^(AFHTTPRequestOperation *operation, NSError *error) {         // 请求失败的时候调用调用这个block         NSLog(@"请求失败");     }];}
3>GET 返回NSData:/** *  利用AFN发送一个GET请求,服务器返回的JSON数据,让AFN直接返回data */- (void)getData{    // 1.创建一个请求操作管理者    AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];    // 声明:不要对服务器返回的数据进行解析,直接返回data即可    // 如果是文件下载,肯定是用这个    // responseObject的类型是NSData    mgr.responseSerializer = [AFHTTPResponseSerializer serializer];    // 2.请求参数    NSMutableDictionary *params = [NSMutableDictionary dictionary];    params[@"username"] = @"哈哈哈";    params[@"pwd"] = @"123";    // 3.发送一个GET请求    NSString *url = @"http://localhost:8080/MJServer/login";    [mgr GET:url parameters:params     success:^(AFHTTPRequestOperation *operation, id responseObject) {         // 请求成功的时候调用这个block         NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableLeaves error:nil];         NSLog(@"%@", dict);     } failure:^(AFHTTPRequestOperation *operation, NSError *error) {         // 请求失败的时候调用调用这个block         NSLog(@"请求失败");     }];}
4>POST 返回JSON:/** *  利用AFN发送一个POST请求,服务器返回的JSON数据 */- (void)postJSON{    // AFHTTPRequestOperationManager 对 NSURLConnection的封装    // 1.创建一个请求操作管理者    AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];    // 2.请求参数    NSMutableDictionary *params = [NSMutableDictionary dictionary];    params[@"username"] = @"哈哈哈";    params[@"pwd"] = @"123";    // 3.发送一个GET请求    NSString *url = @"http://localhost:8080/MJServer/login";    [mgr POST:url parameters:params     success:^(AFHTTPRequestOperation *operation, id responseObject) {         // 请求成功的时候调用这个block         NSLog(@"请求成功---%@", responseObject);     } failure:^(AFHTTPRequestOperation *operation, NSError *error) {         // 请求失败的时候调用调用这个block         NSLog(@"请求失败");     }];}
5>AFHTTPSessionManager:- (void)getSession{    // AFHTTPSessionManager 对 NSURLSession 的封装    AFHTTPSessionManager *mgr = [AFHTTPSessionManager manager];    [mgr GET:@"" parameters:nil success:^(NSURLSessionDataTask *task, id responseObject) {    } failure:^(NSURLSessionDataTask *task, NSError *error) {    }];}
0 0