1 #import "ViewController.h" 2 #import "AFNetworking.h" 3 4 @interface ViewController ()<NSXMLParserDelegate> 5 6 @end 7 8 @implementation ViewController 9 10 -(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event 11 { 12 [self httpData2]; 13 } 14 15 //返回的是JSON数据 16 -(void)json 17 { 18 //1.创建会话管理者 19 AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; 20 21 //http://120.25.226.186:32812/login?username=123&pwd=122&type=JSON 22 // 23 24 NSDictionary *paramDict = @{ 25 @"username":@"520it", 26 @"pwd":@"520it", 27 @"type":@"JSON" 28 }; 29 //2.发送GET请求 30 /* 31 第一个参数:请求路径(不包含参数).NSString 32 第二个参数:字典(发送给服务器的数据~参数) 33 第三个参数:progress 进度回调 34 第四个参数:success 成功回调 35 task:请求任务 36 responseObject:响应体信息(JSON--->OC对象) 37 第五个参数:failure 失败回调 38 error:错误信息 39 响应头:task.response 40 */ 41 [manager GET:@"http://120.25.226.186:32812/login" parameters:paramDict progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { 42 43 NSLog(@"%@---%@",[responseObject class],responseObject); 44 45 } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { 46 NSLog(@"请求失败--%@",error); 47 }]; 48 } 49 50 //返回的是XML 51 -(void)xml 52 { 53 //1.创建会话管理者 54 AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; 55 56 //http://120.25.226.186:32812/login?username=123&pwd=122&type=JSON 57 // 58 59 //注意:如果返回的是xml数据,那么应该修改AFN的解析方案 60 manager.responseSerializer = [AFXMLParserResponseSerializer serializer]; 61 62 NSDictionary *paramDict = @{ 63 @"type":@"XML" 64 }; 65 //2.发送GET请求 66 /* 67 第一个参数:请求路径(不包含参数).NSString 68 第二个参数:字典(发送给服务器的数据~参数) 69 第三个参数:progress 进度回调 70 第四个参数:success 成功回调 71 task:请求任务 72 responseObject:响应体信息(JSON--->OC对象) 73 第五个参数:failure 失败回调 74 error:错误信息 75 响应头:task.response 76 */ 77 [manager GET:@"http://120.25.226.186:32812/video" parameters:paramDict progress:nil success:^(NSURLSessionDataTask * _Nonnull task,NSXMLParser *parser) { 78 79 //NSLog(@"%@---%@",[responseObject class],responseObject); 80 //NSXMLParser *parser =(NSXMLParser *)responseObject; 81 82 //设置代理 83 parser.delegate = self; 84 85 //开始解析 86 [parser parse]; 87 88 } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { 89 NSLog(@"请求失败--%@",error); 90 }]; 91 } 92 93 //返回的二进制数据 94 -(void)httpData 95 { 96 //1.创建会话管理者 97 AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; 98 99 //注意:如果返回的是xml数据,那么应该修改AFN的解析方案AFXMLParserResponseSerializer 100 //注意:如果返回的数据既不是xml也不是json那么应该修改解析方案为: 101 //manager.responseSerializer = [AFXMLParserResponseSerializer serializer]; 102 manager.responseSerializer = [AFHTTPResponseSerializer serializer]; 103 104 //2.发送GET请求 105 [manager GET:@"http://120.25.226.186:32812/resources/images/minion_01.png" parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task,id _Nullable responseObject) { 106 NSLog(@"%@-",[responseObject class]); 107 108 //UIImage *image = [UIImage imageWithData:responseObject]; 109 } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { 110 NSLog(@"请求失败--%@",error); 111 }]; 112 } 113 114 -(void)httpData2 115 { 116 //1.创建会话管理者 117 AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; 118 119 //注意:如果返回的是xml数据,那么应该修改AFN的解析方案AFXMLParserResponseSerializer 120 //注意:如果返回的数据既不是xml也不是json那么应该修改解析方案为: 121 //manager.responseSerializer = [AFXMLParserResponseSerializer serializer]; 122 123 //告诉AFN能够接受text/html类型的数据 124 manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"]; 125 126 manager.responseSerializer = [AFHTTPResponseSerializer serializer]; 127 128 //2.发送GET请求 129 [manager GET:@"http://www.baidu.com" parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task,id _Nullable responseObject) { 130 NSLog(@"%@-%@",[responseObject class],[[NSString alloc]initWithData:responseObject encoding:NSUTF8StringEncoding]); 131 132 //UIImage *image = [UIImage imageWithData:responseObject]; 133 } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { 134 NSLog(@"请求失败--%@",error); 135 }]; 136 } 137 138 #pragma mark ---------------------- 139 #pragma mark NSXMLParserDelegate 140 -(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary<NSString *,NSString *> *)attributeDict 141 { 142 NSLog(@"%@--%@",elementName,attributeDict); 143 }
浙公网安备 33010602011771号