AFNetWorking 请求数据报”Request failed: unacceptable content-type: text/plain” 错误解决方法

AFNetWorking 请求数据报”Request failed: unacceptable content-type: text/plain” 错误解决方法

在用AFN请求微博授权的时候,出现”Request failed: unacceptable content-type: text/plain” 错误。查看源码发现是因为AFN默认的解析方法时json 而返回的页面MINEType却是text/plain。想要修改,笔者现在提供两种方式。

一 修改AFN的源码

在AFN的AFURLResponseSerialization.m文件中,修改init方法中。在
    self.acceptableContentTypes = [NSSet setWithObjects: @"application/json", @"text/json", @"text/javascript", nil];

中添加@”text/plain” 再次编译就OK了

二 修改manager的解析属性

创建一个manager后,设置解析属性:
    AFHTTPSessionManager *mgr = [AFHTTPSessionManager manager];

    mgr.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/plain"];

总结

以上两种通用的方法都可以解决此问题,如果以后遇到其他的不能解析MINEType也可以用这样的方法,修改对应的代码就好了。

你可能感兴趣的:(ios开发)