iOS开发AFNetwork在请求时报错code=-1016 和 3840?

释放双眼,带上耳机,听听看~!

1》在进行网络请求时出现-1016,是因为只支持text/jsonapplication/jsontext/javascript,可以添加text/html 

在进行网络请求时出现3840添加如下语句:

manger.requestSerializer = [AFHTTPRequestSerializer serializer];

manger.responseSerializer = [AFHTTPResponseSerializer serializer];

在进行网络请求时出现-1011,添加如下语句:manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@”text/html”@”text/”@”text/xml”]; 

需要修改AFNetworking可接收的Content-Type,前往AFNetworking源代码目录找到AFURLResponseSerialization.m文件将里面的代码:self.acceptableContentTypes =[NSSetsetWithObjects:@”application/json”,@”text/json”,@”text/javascript”,nil];

修改为:self.acceptableContentTypes =[NSSetsetWithObjects:@”application/json”,@”text/json”,@”text/javascript”,@”text/html”,@”text/plain”,nil];

2》Server那邊的人沒把head內的 metacontent格式指定好?

[AFJSONRequestOperation addAcceptableContentTypes:[NSSet setWithObject:@”text/html”]]; 

3》NSUnderlyingError = Error Domain=com.alamofire.error.serialization.response Code=-1016 “Request failed: unacceptable content-type: application/soap+xml” 

application/json,application/text都只是设置返回的http报文里面header的内容,最终怎么处理还是看前端javascript,你js里面收到数据后JSON.parse()就是json数据(当然现在Ajax框架比如jquery都自动parse了),不处理就是纯文本,本质上没什么差别

4》默认响应的格式是JSON,若返回的不是一个JSON文本,可修改成二进制或者XML

注意:responseSerializer使用之前一定要new一次,不然配置的东西无效

manager.responseSerializer.acceptableContentTypes=[NSSet setWithObjects:@”text/html”,@”text/plain”,nil];

 manager.responseSerializer=[AFJSONResponseSerializer serializer];

5》AFN在请求时候,老是出现unacceptable content-type: text/html或者 text/plain

在进行网络请求时出现-1016,可能是参数传错了

 

人已赞赏
iOS文章

iOS开发图片路径L:While reading /Volumes/data2/project/ChildStory/ChildStory/nav_bar.png pngcrush caught libpng

2020-5-6 20:16:50

iOS文章

ios automatically signed for developmentbut a conflicting code signing identity iPhone Distribution

2020-5-6 21:31:51

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索