AFNetwork 常见错误

错误1. Code=-1006、unacceptable text/html

输出结果是:(已省略无关信息)Error Domain=com.alamofire.error.serialization.response Code=-1016"Request failed: unacceptable content-type: text/html"

此错误意思是不能接收的返回值类型:text/html,即服务器返回了一个text/html类型的返回值。

出现原因为AFN本身不能接受这种类型,默认接收类型只有application/json,text/json,text/javascript三种。


解决方案:为AFN添加此接收类型:

AFHTTPSessionManager *manager=[AFHTTPSessionManager manager];

manager.reesponseSerializer.acceptableContentTypes = [NSSet setWithObjects: @"application/json", @"text/json", @"text/javascript",@"text/plain",@"text/html",nil];


错误2. Code=3840、JSON text did not start

NSCocoaErrorDomain Code=3840"JSON text did not start with array or object and option to allow fragments not set."

错误意思是Json并不是以array或者object开始的,换句话说即json的格式不正确。

出现原因是服务器返回的数据并非Json,但是AFN却当成Json去强行解析,那报错就不足为奇了。

解决方案:

AFHTTPSessionManager*manager=[AFHTTPSessionManager manager];

manager.responseSerializer=[AFHTTPResponseSerializer serializer];



错误3. response Code=-1011 "Request failed: bad request (400)"

出现原因是客户端请求参数问题,一般通过以下2句代码,可以找出错误参数

在错误回调里,打印出错误日志:

 NSData *data = error.userInfo[@"com.alamofire.serialization.response.error.data"] ;

 NSString *errorStr = [[ NSString alloc ] initWithData:data encoding:NSUTF8StringEncoding];

你可能感兴趣的:(AFNetwork 常见错误)