iOS 开发,使用AFNetworking 怎么设置请求超时的时间

2025-05-16 06:37:30
推荐回答(1个)
回答1:

  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;

  }

  其中,设置这么一句话即可,参考更多请关注扣丁学堂。。。。。。。