AFNetworking (2.6.1)出现错误code = 1016和3084 的解决方案
来源:互联网 发布:伊藤诚 知乎 编辑:程序博客网 时间:2024/05/20 08:43
用AFN封装了一个网络工具出现了,发送网络请求出现出错:
错误打印为:(code = -1016)
error===Error Domain=com.alamofire.error.serialization.response Code=-1016 "Request failed: unacceptable content-type: text/html" UserInfo={com.alamofire.serialization.response.error.response=<NSHTTPURLResponse: 0x7fd8dbd62b30>
错误原因:
在AFN框架中AFURLResponseSerialization响应数据序列化类中初始化方法
- (instancetype)init { self = [super init]; if (!self) { return nil; } self.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript", nil]; return self;}
从上面可以看出,响应数据序列化只支持以上几种格式数据,并不支持text/html格式数据。
解决方法:
为AFHTTPSessionManager对象添加新序列化数据格式。
//用可变set接收原有类型的set NSMutableSet *setM = [NSMutableSet setWithSet:manager.responseSerializer.acceptableContentTypes];//添加text/html类型[setM addObject:@"text/html"];//将可变set做一次copy,赋值回去manager.responseSerializer.acceptableContentTypes = setM.copy;
/*==================================== | ----------------------- Amer ----------------------- | ====================================*/
以上解决了数据类型的1016错误,但是CMD + R发现还有一个code = 3840错误
错误打印为:(code = 3840)
error===Error Domain=NSCocoaErrorDomain Code=3840 "JSON text did not start with array or object and option to allow fragments not set." UserInfo={NSDebugDescription=JSON text did not start with array or object and option to allow fragments not set.}
错误原因:
Content-Type charset = UTF-8,网络响应头和响应数据的编码格式可能与序列化编码格式有冲突(个人观点。)
解决方法:
//设置请求信息序列化对象manager.requestSerializer = [AFHTTPRequestSerializer serializer];//设置响应数据序列化对象manager.responseSerializer = [AFHTTPResponseSerializer serializer];
0 0
- AFNetworking (2.6.1)出现错误code = 1016和3084 的解决方案
- AFNetworking 3.0 Code=-1016 错误解决方案
- AFNetWorking出现code=-1016错误解决办法
- AFNetWorking出现code=-1016错误解决办法
- [绍棠] AFNetworking 3.0 Code=-1016 错误解决方案
- AFNetWorking 在请求时出现code=-1016错误解决办法
- AFNetworking,处理返回数据时出现Error Domain=NSCocoaErrorDomain Code=3840 错误
- AFNetWorking的-1016和3840错误
- AFNetworking数据请求错误 Code=3840
- AFNetworking读取和设置cookie的解决方案
- AFNetworking读取和设置cookie的解决方案
- AFNetworking读取和设置cookie的解决方案
- AFNetworking读取和设置cookie的解决方案
- AFNetWorking无返回数据 Code=-1016
- 关于AFNetworking code-1016
- AFNetWorking Code=-1002
- 使用AFNetworking出现报错: error=Error Domain=com.alamofire.error.serialization.response Code=-1016 "Reque
- AFNetWorking2.0 post 出现code=-1016错误怎么解决?
- C++设计模式-Observer观察者模式
- C# override与new的区别
- cxf客户端
- 5.补发----数据的物理结构,线性结构与链式结构
- 6.补发-关于数据类型
- AFNetworking (2.6.1)出现错误code = 1016和3084 的解决方案
- armv6, armv7, armv7s的区别
- 7.补发---抽象数据类型ADT
- 8.补发-----补充数据结构基本概念之间的关系
- access denied for user 'root'@'localhost'
- Z spirit 加强版 可做平安易贷 借贷宝 uber
- UML类图符号 各种关系说明以及举例
- android串口通信——电子扫描枪
- 安装igrimace步骤