AFNetworkingErrorDomain错误该怎么办?

首先我们来看一下错误信息:

AFNetworkingErrorDomain错误该怎么办?插图亿华云

ErrorDomain=AFNetworkingErrorDomainCode=-1011"Expected status code in (200-299), got 406"{ status code:406,headers {"Content-Language"= en;"Content-Length"=1110;"Content-Type"="text/html;charset=utf-8";Date="Sat, 27 Sep 2014 05:29:13 GMT";Server="Apache-Coyote/1.1";}}

相信很多小伙伴经常遇到这样的问题但又找不到方法解决,接下来通过搜索”text/”找到下面这段代码:

(NSSet*)acceptableContentTypes
{return[NSSet setWithObjects:@"text/html",@"text/plain",@"application/json",@"text/json",@"text/javascript",nil];}

在中间插入@”text/html”,基本上问题就解决了,但是这次没有解决最后发现了问题,原来是在封装请求方法时没有加入请求头协议:

[httpClient registerHTTPOperationClass:[AFJSONRequestOperationclass]];[httpClient setDefaultHeader:@"Accept" value:@"application/json"];

这个方法中有没有包含服务器返回的数据格式,如果没有就加上.然后执行代码测试是否通过,如果未通过,再看一下你封装的请求方法中是否没有加入请求头协议.下面是我的完整的封装GET和POST请求方法代码,给大家参考一下:

(void)postWithBaseURL🙁NSString*)baseURL path🙁NSString*)path params🙁NSDictionary*)params success🙁HttpSuccessBlock)success failure🙁HttpFailureBlock)failure
{// 封装请求AFHTTPClient*client =[AFHTTPClient clientWithBaseURL:[NSURL URLWithString:baseURL]];[client registerHTTPOperationClass:[AFJSONRequestOperationclass]];[client setDefaultHeader:@"Accept" value:@"application/json"];NSURLRequest*post =[client requestWithMethod:@"POST" path:path parameters:params];// 创建AFJSONRequestOperation对象NSOperation*operation =[AFJSONRequestOperationJSONRequestOperationWithRequest:post success:^(NSURLRequest*request,NSHTTPURLResponse*response,id JSON){
success
(JSON);} failure:^(NSURLRequest*request,NSHTTPURLResponse*response,NSError*error,id JSON){
failure
(error);}];// 发送请求[operation start];}

以上就是关于“AFNetworkingErrorDomain 错误的解决方法”的相关解答如需购买测试PHP主机,推荐亿华云共享虚拟主机、独享IP虚拟主机齐备,各类配置均有,满足不同网站建设需求;另外提供免费虚拟主机,可供测试,让您快速上线网站。

选购地址:https://www.i658.com

THE END
Copyright © 2024 亿华云