iOS判断网络请求超时

+ (AFHTTPRequestOperation *)requestOperationWithUrl:(NSString *)url

                                       requetMethod:(NSString *)method

                                          paramData:(NSDictionary *)aParamData

                          constructingBodyWithBlock:(void (^)(id <AFMultipartFormData> formData))block

                                            success:(successBlock)success

                                            failure:(failureBlock)failure {

    

    

    AFHTTPRequestSerializer *requestSerializer = [AFJSONRequestSerializer serializer];

    NSMutableURLRequest *request;

    

    if (block) {

        method = @"POST";

        request = [requestSerializer multipartFormRequestWithMethod:method URLString:url parameters:aParamData constructingBodyWithBlock:block error:nil];

    }else{

        request = [requestSerializer requestWithMethod:method URLString:url parameters:aParamData error:nil];

    }

  

    AFHTTPRequestOperation *op = [[AFHTTPRequestOperation alloc] initWithRequest:request];

    AFJSONResponseSerializer *responseSerializer = [AFJSONResponseSerializer serializer];

    responseSerializer.removesKeysWithNullValues = YES;

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

    op.responseSerializer = responseSerializer;


    

    __weak AFHTTPRequestOperation *weakOp = op;

    [op setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {

        if ([responseObject[@"code"] integerValue] == 0) {

            if (success) {

//                success(weakOp, aParamData, responseObject[@"list"]);

                success(weakOp, aParamData, responseObject);

            }

        }else{

            NSLog(@"operation error msg = [%@]", responseObject[@"description"]);

            if (failure) {

                failure(weakOp, aParamData, [self errorWithRet:responseObject]);

            }

        }

    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {

        NSLog(@"operation failed = [%@] error = [%@]", operation, error);

        if (failure) {

            failure(weakOp, aParamData, error);

        }

        

    }];

    

    return op;

}



打印 error




Error Domain=NSURLErrorDomain Code=-1001 "请求超时。"

UserInfo={

NSErrorFailingURLStringKey=http://123.56.109.92/refitcar/service.s?sn=, _kCFStreamErrorCodeKey=-2102, NSErrorFailingURLKey=http://123.56.109.92/refitcar/service.s?sn=, NSLocalizedDescription=请求超时。, _kCFStreamErrorDomainKey=4, 

NSUnderlyingError=0x167da8e0 {

Error Domain=kCFErrorDomainCFNetwork Code=-1001 "请求超时。

UserInfo={

_kCFStreamErrorCodeKey=-2102, 

NSErrorFailingURLStringKey=http://123.56.109.92/refitcar/service.s?sn=

NSErrorFailingURLKey=http://123.56.109.92/refitcar/service.s?sn=,

 NSLocalizedDescription=请求超时。

_kCFStreamErrorDomainKey=4

}


}

}


可见:

po error.localizedDescription  请求超时。

po error.code  -1001

po error.userInfo

{

    NSErrorFailingURLKey = "http://123.56.109.92/refitcar/service.s?sn=";

    NSErrorFailingURLStringKey = "http://123.56.109.92/refitcar/service.s?sn=";

    NSLocalizedDescription = "\U8bf7\U6c42\U8d85\U65f6\U3002";

    NSUnderlyingError = "Error Domain=kCFErrorDomainCFNetwork Code=-1001 \"\U8bf7\U6c42\U8d85\U65f6\U3002\" UserInfo={_kCFStreamErrorCodeKey=-2102, NSErrorFailingURLStringKey=http://123.56.109.92/refitcar/service.s?sn=, NSErrorFailingURLKey=http://123.56.109.92/refitcar/service.s?sn=, NSLocalizedDescription=\U8bf7\U6c42\U8d85\U65f6\U3002, _kCFStreamErrorDomainKey=4}";

    "_kCFStreamErrorCodeKey" = "-2102";

    "_kCFStreamErrorDomainKey" = 4;


}




所以使用 error.code是否等于   -1001  判断请求超时

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值