zoukankan      html  css  js  c++  java
  • 设置AFNetworking网络请求的超时时间

    设置AFNetworking网络请求的超时时间

    也许大家使用的时候已经察觉到,设置AFNetworking的超时时间并不管用,但可以用特殊的方式来处理。

    以下是笔者基于AFNetworking2.5.0封装的GET,POST请求用方法。

    POST请求

    + (AFHTTPRequestOperation *)GETMethod:(NSString *)URLString
                               parameters:(id)parameters
                                  success:(void (^)(AFHTTPRequestOperation *operation, id responseObject))success
                                  failure:(void (^)(AFHTTPRequestOperation *operation, NSError *error))failure {
        
        AFHTTPRequestOperationManager *manager    = [AFHTTPRequestOperationManager manager];
    
        // 设置超时时间
        [manager.requestSerializer willChangeValueForKey:@"timeoutInterval"];
        manager.requestSerializer.timeoutInterval = 10.f;
        [manager.requestSerializer didChangeValueForKey:@"timeoutInterval"];
        
        AFHTTPRequestOperation *httpOperation = [manager GET:URLString
                                                  parameters:parameters
                                                     success:^(AFHTTPRequestOperation *operation, id responseObject) {
                                                         if (success) {
                                                             success(operation, responseObject);
                                                         }
                                                     }
                                                     failure:^(AFHTTPRequestOperation *operation, NSError *error) {
                                                         if (failure) {
                                                             failure(operation, error);
                                                         }
                                                     }];
        
        return httpOperation;
    }

    GET请求

    + (AFHTTPRequestOperation *)POSTMethod:(NSString *)URLString
                                parameters:(id)parameters
                                   success:(void (^)(AFHTTPRequestOperation *operation, id responseObject))success
                                   failure:(void (^)(AFHTTPRequestOperation *operation, NSError *error))failure {
        
        AFHTTPRequestOperationManager *manager            = [AFHTTPRequestOperationManager manager];
        manager.requestSerializer                         = [AFJSONRequestSerializer serializer];
        manager.responseSerializer.acceptableContentTypes = [manager.responseSerializer.acceptableContentTypes setByAddingObject:@"text/html"];
        
        
        // 设置超时时间
        [manager.requestSerializer willChangeValueForKey:@"timeoutInterval"];
        manager.requestSerializer.timeoutInterval = 10.f;
        [manager.requestSerializer didChangeValueForKey:@"timeoutInterval"];
        
        
        AFHTTPRequestOperation *httpOperation = [manager POST:URLString
                                                   parameters:parameters
                                                      success:^(AFHTTPRequestOperation *operation, id responseObject) {
                                                          if (success) {
                                                              success(operation, responseObject);
                                                          }
                                                      }
                                                      failure:^(AFHTTPRequestOperation *operation, NSError *error) {
                                                          if (failure) {
                                                              failure(operation, error);
                                                          }
                                                      }];
        
        return httpOperation;
    }

    其中,设置这么一句话即可:

  • 相关阅读:
    好用的绘图工具推荐-processon
    前台获取到的后台json对象取值时undefined的解决方法
    axios怎么引用?
    postman发送post请求,后端无法接收到参数
    bcrypt加密算法
    mongoose创建model名字时,为什么集合名会自动加s?
    《遇见未知的自己》 张德芬
    《把时间当做朋友》笔记摘要
    精英与普通人的区别
    金刚经全文
  • 原文地址:https://www.cnblogs.com/YouXianMing/p/4331033.html
Copyright © 2011-2022 走看看