iOS网络通信AFNetworking框架
2015-12-25 15:35
495 查看
1.在学网络编程前,先掌握几个基本概念
1.1客户端(Client):移动应用(iOS、android等应用)
1.2服务器(Server):为客户端提供服务、提供数据、提供资源的机器
1.3请求(Request):客户端向服务端索取数据的一种行为
1.4响应(Response):服务器对客户端的请求做出的反应,一般指返回数据给客户端
2.在iOS中,常见的发送HTTP请求的方案
2.1苹果自带
1)NSURLConnection【用法简单】
2)NSURLSession【iOS7新出的技术】
3)CFNetwork【NSURL*的底层,纯C语言】
2.2第三方框架
1)AFIHttpRequest【功能强大,可惜停止更新了】
2)AFNetworking【简单易用,维护和使用者多,推荐使用】
3)MKNetworkKit【产自印度,维护和使用者少】
3.正式开始讲解AFN框架
网络获取的数据如下图
1.1客户端(Client):移动应用(iOS、android等应用)
1.2服务器(Server):为客户端提供服务、提供数据、提供资源的机器
1.3请求(Request):客户端向服务端索取数据的一种行为
1.4响应(Response):服务器对客户端的请求做出的反应,一般指返回数据给客户端
2.在iOS中,常见的发送HTTP请求的方案
2.1苹果自带
1)NSURLConnection【用法简单】
2)NSURLSession【iOS7新出的技术】
3)CFNetwork【NSURL*的底层,纯C语言】
2.2第三方框架
1)AFIHttpRequest【功能强大,可惜停止更新了】
2)AFNetworking【简单易用,维护和使用者多,推荐使用】
3)MKNetworkKit【产自印度,维护和使用者少】
3.正式开始讲解AFN框架
#import "ViewController.h" #import "AFNetworking.h" #define INTERNET_TIMEOUT 10; @interface ViewController () @property (nonatomic, strong) AFHTTPRequestOperationManager *operationManager; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; //实例化一个请求管理器 self.operationManager = [AFHTTPRequestOperationManager manager]; //设置网络请求超时时间 self.operationManager.requestSerializer.timeoutInterval = INTERNET_TIMEOUT; //设置响应的数据格式 self.operationManager.responseSerializer = [AFJSONResponseSerializer serializer]; //设置响应可接受内容类型[可以在源码里面修改,达到一劳永逸的效果,本人不喜欢这么做就是了] self.operationManager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/html", @"application/json", @"text/javascript", @"text/plain", nil]; //get请求 NSString *url = @"http://apis.baidu.com/txapi/weixin/wxhot?";//请求地址 NSDictionary *parameters = @{@"num":@"1", @"rand":@"1", @"word":@"盗墓笔记", @"page":@"1"};//请求参数 [self.operationManager.requestSerializer setValue:@"自己的apikey" forHTTPHeaderField:@"apikey"];//设置请求头【这里是调用了微信热门精选的API,apikey自己去注册即可获得】 [self.operationManager GET:url parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) { NSLog(@"%@", responseObject); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"%@", error); }]; //post请求 /*[self.operationManager POST:url parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) { NSLog(@"%@", responseObject); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"%@", error); }];*/ //方法是这个,自行测试 } @end
网络获取的数据如下图
相关文章推荐
- QT中的 TCP 通信 (一)
- 【贪心+优先队列、网络流】:poj2614,Sunscreen
- android加载网络gif图片
- Linux网络接口配置文件简介
- Http中Cookie和Session介绍
- https调用出现【基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系】错误
- 【iOS】MD5加密与网络数据安全
- 快速自制TC注册码网络验证码系统
- Http协议概述
- 全站 HTTPS 来了
- MFC的网络编程学习摘记
- 全站 HTTPS 来了
- 神经网络中与BP传播算法
- Apache配置http访问转https
- 在Apache+mod_wsgi+python的基础上搭建https安全访问
- 社交网络有依赖症的人都有共同的特点
- Go支持https协议的简单例子
- 非常简单的Python HTTP服务
- 网络传输(最大重叠次数)
- Android网络图片查看器