在iOS开发中,使用比较广泛
AFN的github地址
https://github.com/pokeb/AFNetworking/AFNetworkingNSURLConnection
AFURLConnectionOperationAFHTTPRequestOperationAFHTTPRequestOperationManager(封装了常用的 HTTP 方法)
属性
baseURL :AFN建议开发者针对 AFHTTPRequestOperationManager 自定义个一个单例子类,设置 baseURL, 所有的网络访问,都只使用相对路径即可requestSerializer :请求数据格式/默认是二进制的 HTTPresponseSerializer :响应的数据格式/默认是 JSON 格式operationQueuereachabilityManager :网络连接管理器方法
manager :方便创建管理器的类方法HTTPRequestOperationWithRequest :在访问服务器时,如果要告诉服务器一些附加信息,都需要在 Request 中设置GETPOSTNSURLSession
AFURLSessionManagerAFHTTPSessionManager(封装了常用的 HTTP 方法)
GETPOSTUIKit + AFNetworking 分类NSProgress :利用KVO半自动的序列化&反序列化的功能
AFURLRequestSerialization :请求的数据格式/默认是二进制的AFURLResponseSerialization :响应的数据格式/默认是JSON格式附加功能
安全策略
HTTPSAFSecurityPolicy网络检测
对苹果的网络连接检测做了一个封装AFNetworkReachabilityManager默认是JSON数据,接收类型是JSON
如果接收的类型和返回的类型不匹配会报错 // 1.创建AFN管理者 AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; // 默认请求二进制 // 默认响应是JSON // 告诉AFN,支持接受 text/xml 的数据 // [AFJSONResponseSerializer serializer].acceptableContentTypes = [NSSet setWithObject:@"text/xml"]; // 告诉AFN如何解析数据 // 告诉AFN客户端, 将返回的数据当做JSON来处理,默认的是以JSON处理 // manager.responseSerializer = [AFJSONResponseSerializer serializer]; // 告诉AFN客户端, 将返回的数据当做XML来处理 // manager.responseSerializer = [AFXMLParserResponseSerializer serializer]; // 告诉AFN客户端, 将返回的数据当做而进行来数据 (服务器返回什么就是什么) manager.responseSerializer = [AFHTTPResponseSerializer serializer];