AFNetworking 框架实例

源码地址:https://github.com/search?utf8=?&q=AFNetworking

下载链接

1   return json & xml 
 - (void)cctv01

{

// 1.获得请求管理者(管理请求, 帮助发请求)

AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];

// 声明服务器返回的数据是JSON

//    mgr.responseSerializer = [AFJSONResponseSerializer serializer];

// 2.封装请求参数

NSMutableDictionary *params = [NSMutableDictionary dictionary];

params[@"username"] = @"123";

params[@"pwd"] = @"123";

// 3.发送GET请求

[mgr GET:@"http://192.168.1.200:8080/Server/login" parameters:params

success:^(AFHTTPRequestOperation *operation, id responseObject) { //  responseObject : 在这种情况下是字典

NSLog(@"请求成功---%@", responseObject);

}

failure:^(AFHTTPRequestOperation *operation, NSError *error) {

NSLog(@"请求失败---%@", error);

}];

}

-----------

- (void)cctv02 (for json -> dictionary)

{

// 1.获得请求管理者

AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];

// 2.发送GET请求

[mgr GET:@"http://192.168.1.200:8080/Server/video" parameters:nil

success:^(AFHTTPRequestOperation *operation, NSDictionary *dict) { //  responseObject : 在这种情况下是字典

NSLog(@"请求成功---%@", dict[@"videos"]);

}

failure:^(AFHTTPRequestOperation *operation, NSError *error) {

NSLog(@"请求失败---%@", error);

}];


-----------

- (void)cctv03 (for XML)

{

// 1.获得请求管理者

AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];

mgr.responseSerializer = [AFXMLParserResponseSerializer serializer];

// 2.发送POST请求

[mgr POST:@"http://192.168.1.200:8080/Server/video" parameters:@{@"type" : @"XML"}

success:^(AFHTTPRequestOperation *operation, NSXMLParser *parser) {

}

failure:^(AFHTTPRequestOperation *operation, NSError *error) {

NSLog(@"请求失败---%@", error);

}];

}

-----------

2  downloading & uploading the data

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

{

// 1.获得请求管理者

AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];

// 2.发送请求(做文件上传)

// parameters : 只能放非文件参数

NSMutableDictionary *params = [NSMutableDictionary dictionary];

params[@"username"] = @"zhangsan";

[mgr POST:@"http://192.168.1.200:8080/Server/upload" parameters:params

constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {

// 一定要在这个block中添加文件参数

// 加载文件数据

NSString *file = [[NSBundle mainBundle] pathForResource:@"test.txt" ofType:nil];

NSData *data = [NSData dataWithContentsOfFile:file];

// 拼接文件参数

[formData appendPartWithFileData:data name:@"file" fileName:@"123.txt" mimeType:@"text/plain"];

}

success:^(AFHTTPRequestOperation *operation, id responseObject) {

NSLog(@"上传成功----%@", responseObject);

} failure:^(AFHTTPRequestOperation *operation, NSError *error) {

NSLog(@"上传失败----%@", error);

}];

----------

3  judge the network isOn

// 1.获得网络监控的管理者

AFNetworkReachabilityManager *mgr = [AFNetworkReachabilityManager sharedManager];

// 2.设置网络状态改变后的处理

[mgr setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {

// 当网络状态改变了, 就会调用这个block

switch (status) {

case AFNetworkReachabilityStatusUnknown: // 未知网络

NSLog(@"未知网络");

break;

case AFNetworkReachabilityStatusNotReachable: // 没有网络(断网)

NSLog(@"没有网络(断网)");

break;

case AFNetworkReachabilityStatusReachableViaWWAN: // 手机自带网络

NSLog(@"手机自带网络");

break;

case AFNetworkReachabilityStatusReachableViaWiFi: // WIFI

NSLog(@"WIFI");

break;

}

}];

// 3.开始监控

[mgr startMonitoring];

//    mgr.isReachableViaWiFi

//    mgr.isReachableViaWWAN

时间: 2024-08-24 20:00:01

AFNetworking 框架实例的相关文章

【FastDev4Android框架开发】RecyclerView完全解析之结合AA(Android Annotations)注入框架实例(三十)

(一).前言: 话说RecyclerView已经面市很久,也在很多应用中得到广泛的使用,在整个开发者圈子里面也拥有很不错的口碑,那说明RecyclerView拥有比ListView,GridView之类控件有很多的优点,例如:数据绑定,Item View创建,View的回收以及重用等机制.本系列文章会包括到以下三个部分: RecyclerView控件的基本使用,包括基础,进阶,高级部分,动画之类(点击进入) RecyclerView控件的实战实例(点击进入) RecyclerView控件集合AA

缓冲运动之框架開始一级简单框架实例

***********************缓冲运动[框架開始]-1.html********************************************* <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style type="text/css"

iOS AFNetworking框架HTTPS请求配置

iOS在Apple公司的强制要求下,数据传输必须按照ATS(App Transefer Security)条款.关于AFNetworking框架传输HTTPS数据. 一.AllowsArbitraryLoads 白名单机制 NSAllowsArbitraryLoads是ATS推广过程中的产物,当然也许可持续很久甚至永久,为了访问HTTP服务,一般需要绕过ATS限制,需要配置info.plist文件 <key>NSAppTransportSecurity</key>  <dic

[读后感]spring Mvc 教程框架实例以及系统演示下载

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 不要好意思,昨晚写的,睡着忘发了,后附是篇好文,赶紧w分享一下. 感脚着,俺好像做了件聪明事儿,却不知会不会遭到不理解. 转载的好文,是不会推荐到

缓冲运动之框架开始一级简单框架实例

***********************缓冲运动[框架开始]-1.html********************************************* <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style type="text/css"

基于Python的接口测试框架实例

文章来源:http://www.jb51.net/article/96481.htm 下面小编就为大家带来一篇基于Python的接口测试框架实例.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 背景 最近公司在做消息推送,那么自然就会产生很多接口,测试的过程中需要调用接口,我就突然觉得是不是可以自己写一个测试框架? 说干就干,由于现有的接口测试工具Jmeter.SoupUI等学习周期有点长,干脆自己写一个吧,不求人,所有功能自己都能一清二楚. 当然,写工具造轮子只是

Spring MVC框架实例

Spring  MVC 背景介绍 Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块.使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架.通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术.Velocity.Tiles.iText 和 POI.Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术.S

iOS边练边学--AFNetWorking框架GET、Post、Download、Upload,数据解析模式以及监控联网状态

一.AFNETWorking简单使用 get请求 get请求,以后经常用NSURLSession底层的写的部分 简单的post请求 用post请求下载文件,方法很多,还可以通过upload任务来执行 download任务 二.框架中的数据解析,默认是将数据按照json来解析,设置方法 三.AFN框架监控联网状态

iOS 9 平台上 AFNetworking 框架 3.0 版本号解决的问题和问题解决

太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的漂亮人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 再补充 此有一篇比較全面的适配 iOS 9 的文章: http://www.cnblogs.com/dsxniubility/p/4821184.