转载文章 本人测试第二种方法不行
在用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也可以用这样的方法,修改对应的代码就好了。