AFNetworking二次封装的那些事
AFNetworking可是iOS网络开发的神器,大大简便了操作.不过网络可是重中之重,不能只会用AFNetworking.我觉得网络开发首先要懂基本的理论,例如tcp/ip,http协议,之后要了解web的请求和响应,会使用苹果自带的NSURLSession,最后是把AFNetworking的源码啃掉. 前言 一直以来网络开发用的都是前面同事基于AFNetworking二次封装好的框架,一直都没什么问题,也就没往深处去了解.然后公司开始新项目了,iOS端由我负责,这可是我的第一次啊,从零开始,构建整个项目.这是个挑战,内心还是有点小激动的. 轮子肯定是不用重复造的,网络框架就拿的老项目的,结果出现了两个问题. 上传多张图片,服务端解析不了 无文件上传, Content-Type还是multipart/form-data 为了解决这个问题,从就没用过的NSURLSession到http协议,追本溯源,终于解决了. http协议 关于http协议的理论就不多讲了,主要就讲使用POST方法传递数据时,发送的请求头和请求体. Content-Type 我们提交的数据是什么编码方式服务端是不知道的,其实我们完全可以自定义格式,只要服务端取到数据后能解析就可以了. 一般服务端语言如 php、python 等,以及它们的 framework,都内置了自动解析常见数据格式的功能