我有一個iOS應用程序使用AFNetworking進行網絡調用。除了當我試圖捕獲401狀態碼時,一切都很好。呼叫返回響應總是需要大約60秒。有什麼設置或什麼會導致這個?每一次成功的呼叫立即返回我也嘗試通過curl來運行這個代碼,並且401會立即返回。這裏是我正在使用的代碼:AFNetworking需要60秒才能返回401狀態碼?
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
__weak AFHTTPRequestOperation *_operation = operation;
[operation setCompletionBlock:^{
//It takes 60 seconds to get to this line if a 401 is encountered
DDLogInfo(@"Response body: %@", [_operation responseString]);
if(_operation.response.statusCode == 401) {
DDLogInfo(@"Expired Auth Token");
}
NSError *error = [_operation error];
NSData *responseData = [_operation responseData];
if(responseData == nil && error == nil)
error = [NSError errorWithDomain:isDevMode ? DEV_SERVICE_BASE_URL : SERVICE_BASE_URL code:-1 userInfo:nil];
callback(error, responseData);
}];
[operation start];
好吧我會嘗試。但我仍然困惑,爲什麼這將是一個暫停?它應該立即返回401,因爲服務器正在響應,但是有錯誤狀態碼。我怎樣才能讓它立即返回而不會妨礙超時? – Bobbake4