注意:
AFN默认将服务器返回的数据,按照JSON去解析
所以其余数据需要自己手动修改:
如改默认(AFJSON)让其接收 text/plain 类型
manager.responseSerializer.acceptableContentTypes = [manager.responseSerializer.acceptableContentTypes setByAddingObject:@"text/plain"];
改默认的解析方式,为最普通的二进制
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
改请求的默认的序列化方式
manager.requestSerializer = [AFJSONRequestSerializer serializer];
对于请求时,若服务器要求是JSON格式,而发送的不是JSON格式,则为NULL
对于HTTPS而言,还要加一句:
//AFN 2.5.4 之前或是包含
manager.securityPolicy.allowInvalidCertificates = YES;
//AFN 2.5.4 之后用下面的
manager.securityPolicy.validatesDomainName = NO;
上传:
创建一个管理者
设置好参数
POST请求
对于多文件而言,通过提供的参数formData的对象方法appendPartWithFileData 拼接数据
图像可通过UIImagePNGRepresentation(img)转换成data数据
或直接进行get \ post请求
还可通过AFNetworkReachabilityManager的setReachabilityStatusChangeBlock来判断当前网络是哪一种类型,需要手动开启
对于SDWebImage的下载图片:
imageView.sd_setImageWithUR L(NSURL(string: url), placeholderImage: UIImage(named: "timeline_image_placeholder"))