AFNetworking通讯框架

AFNetworking是一个为iOS和MacOSX设计的网络库,基于NSURLConnection和NSURLSession进行扩展,提供了丰富的API和模块化架构。该库包括AFURLConnectionOperation、AFHTTPRequestOperation、AFURLSessionManager等关键类,支持HTTPS,并具备证书验证能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

AFNetworking适用于iOS和Mac OS X系统。它是一个建立在基础系统的URL加载之上,延长了内置Cocoa强大的高层次的网络抽象的网络库,也是一个具有模块化架构、精心设计以及功能丰富的API。其主要涉及如下几个类:

1.  NSURLConnection 

AFURLConnectionOperation它继承于NSOperation,作为NSURLConnection的代理来处理请求回调,做好状态切换和线程管理,它可以说是AFNetworking最核心的类 。

AFHTTPRequestOperation它继承于AFURLConnectionOperation,专门用于创建HTTP请求。主要多了responseSerializer函数,处理断点续传的暂停下载,以及提供请求成功或失败的回调接口。 

2.  NSURLSession

AFURLSessionManager创建和管理NSURLSession对象,以及此对象的数据和下载/上传等任务,实现对象和任务的代理方法。NSURLSession的API本身有一些局限,AFURLSessionManager 能使其变得更好用。 

AFHTTPSessionManager继承于AFURLSessionManager,封装了HTTP请求的常见方法。

最后在AFNetworking中还实现了请求和解析的序列化,序列化的灵活性允许其在网络层添加更多的商业逻辑,自定义更方便。NSURLConnection已经封装了HTTPS连接的建立、数据的加密解密功能,我们直接使用NSURLConnection即可访问 HTTPS网站。但是,NSURLConnection并不能验证证书的合法性,无法避免中间人的攻击。要做到真正安全通讯,需要我们手动去验证服务端返回的证书,除了去系统信任的CA机构列表验证,还支持SSL Pinning方式的验证。在AFNetworking中AFSecurityPolicy封装了证书验证的过程,让用户可以轻易使用。AFNetworkReachabilityManager主要负责监控当前的网络可达性,当网络的可达性发生改变时,提供相应的回调和通知接口。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值