AFNetworking 框架实例

 
下载链接
1   return json & xml 
  1 - (void)cctv01
  2 {
  3 
  4     // 1.获得请求管理者(管理请求, 帮助发请求)
  5 
  6     AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];
  7 
  8     // 声明服务器返回的数据是JSON
  9 
 10     //    mgr.responseSerializer = [AFJSONResponseSerializer serializer];
 11 
 12     
 13 
 14     // 2.封装请求参数
 15 
 16     NSMutableDictionary *params = [NSMutableDictionary dictionary];
 17 
 18     params[@"username"] = @"123";
 19 
 20     params[@"pwd"] = @"123";
 21 
 22     
 23 
 24     // 3.发送GET请求
 25 
 26     [mgr GET:@"http://192.168.1.200:8080/Server/login" parameters:params
 27 
 28      success:^(AFHTTPRequestOperation *operation, id responseObject) { //  responseObject : 在这种情况下是字典
 29 
 30          NSLog(@"请求成功---%@", responseObject);
 31 
 32      }
 33 
 34      failure:^(AFHTTPRequestOperation *operation, NSError *error) {
 35 
 36          NSLog(@"请求失败---%@", error);
 37 
 38      }];
 39 
 40 }
 41 
 42 -----------
 43 - (void)cctv02 (for json -> dictionary)
 44 
 45 {
 46 
 47     // 1.获得请求管理者
 48 
 49     AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];
 50 
 51     
 52 
 53     // 2.发送GET请求
 54 
 55     [mgr GET:@"http://192.168.1.200:8080/Server/video" parameters:nil
 56 
 57      success:^(AFHTTPRequestOperation *operation, NSDictionary *dict) { //  responseObject : 在这种情况下是字典
 58 
 59          NSLog(@"请求成功---%@", dict[@"videos"]);
 60 
 61      }
 62 
 63      failure:^(AFHTTPRequestOperation *operation, NSError *error) {
 64 
 65          NSLog(@"请求失败---%@", error);
 66 
 67      }];
 68 
 69 } 
 70 -----------
 71 - (void)cctv03 (for XML)
 72 
 73 {
 74 
 75     // 1.获得请求管理者
 76 
 77     AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];
 78 
 79     mgr.responseSerializer = [AFXMLParserResponseSerializer serializer];
 80 
 81     
 82 
 83     // 2.发送POST请求
 84 
 85     [mgr POST:@"http://192.168.1.200:8080/Server/video" parameters:@{@"type" : @"XML"}
 86 
 87      success:^(AFHTTPRequestOperation *operation, NSXMLParser *parser) {
 88 
 89          
 90 
 91      }
 92 
 93      failure:^(AFHTTPRequestOperation *operation, NSError *error) {
 94 
 95          NSLog(@"请求失败---%@", error);
 96 
 97      }];
 98 
 99 }
100 
101 -----------
102 2  downloading & uploading the data
103 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
104 
105 {
106 
107     // 1.获得请求管理者
108 
109     AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];
110 
111     
112 
113     // 2.发送请求(做文件上传)
114 
115     // parameters : 只能放非文件参数
116 
117     NSMutableDictionary *params = [NSMutableDictionary dictionary];
118 
119     params[@"username"] = @"zhangsan";
120 
121     
122 
123     [mgr POST:@"http://192.168.1.200:8080/Server/upload" parameters:params
124 
125       constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
126 
127           // 一定要在这个block中添加文件参数
128 
129           
130 
131           // 加载文件数据
132 
133           NSString *file = [[NSBundle mainBundle] pathForResource:@"test.txt" ofType:nil];
134 
135           NSData *data = [NSData dataWithContentsOfFile:file];
136 
137           
138 
139           // 拼接文件参数
140 
141           [formData appendPartWithFileData:data name:@"file" fileName:@"123.txt" mimeType:@"text/plain"];
142 
143     }
144 
145       success:^(AFHTTPRequestOperation *operation, id responseObject) {
146 
147         NSLog(@"上传成功----%@", responseObject);
148 
149     } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
150 
151         NSLog(@"上传失败----%@", error);
152 
153     }];
154 
155     
156 
157     ----------
158 
159 3  judge the network isOn
160 
161     // 1.获得网络监控的管理者
162 
163     AFNetworkReachabilityManager *mgr = [AFNetworkReachabilityManager sharedManager];
164 
165  
166 
167     // 2.设置网络状态改变后的处理
168 
169     [mgr setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
170 
171         // 当网络状态改变了, 就会调用这个block
172 
173         switch (status) {
174 
175             case AFNetworkReachabilityStatusUnknown: // 未知网络
176 
177                 NSLog(@"未知网络");
178 
179                 break;
180 
181                 
182 
183             case AFNetworkReachabilityStatusNotReachable: // 没有网络(断网)
184 
185                 NSLog(@"没有网络(断网)");
186 
187                 break;
188 
189                 
190 
191             case AFNetworkReachabilityStatusReachableViaWWAN: // 手机自带网络
192 
193                 NSLog(@"手机自带网络");
194 
195                 break;
196 
197                 
198 
199             case AFNetworkReachabilityStatusReachableViaWiFi: // WIFI
200 
201                 NSLog(@"WIFI");
202 
203                 break;
204 
205         }
206 
207     }];
208 
209  
210 
211     // 3.开始监控
212 
213     [mgr startMonitoring];
214 
215     
216 
217 //    mgr.isReachableViaWiFi
218 
219  
220 
221 //    mgr.isReachableViaWWAN

 


 
 

转载于:https://www.cnblogs.com/qq449832375/p/4671830.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值