取消網(wǎng)絡(luò)請(qǐng)求
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
NSURLSessionDataTask *task = [manager GET:@"url地址"parameters:@"入?yún)?progress:^(NSProgress *_Nonnull downloadProgress) {
//數(shù)據(jù)請(qǐng)求進(jìn)度
} success:^(NSURLSessionDataTask *_Nonnull task,id _Nullable responseObject) {
//請(qǐng)求成功
} failure:^(NSURLSessionDataTask *_Nullable task,NSError *_Nonnull error) {
//請(qǐng)求失敗
}];
//取消單個(gè)網(wǎng)絡(luò)請(qǐng)求
[task cancel];
//取消所有的網(wǎng)絡(luò)請(qǐng)求
[manager.operationQueue cancelAllOperations];
網(wǎng)絡(luò)超時(shí)
[manager.requestSerializer willChangeValueForKey:@"timeoutInterval"];
manager.requestSerializer.timeoutInterval = 10.f;
[manager.requestSerializer didChangeValueForKey:@"timeoutInterval"];
timeoutInterval 是AFNetworking本身自帶的一個(gè)設(shè)置超時(shí)的鍵。
設(shè)置完之后問(wèn)題又來(lái)了谨敛,如果我想在超時(shí)之后做一些操作柿估,怎么判斷什么時(shí)候請(qǐng)求超時(shí)跳夭?我想起來(lái)了每次AFN請(qǐng)求失敗我都有打印error,于是我就去看看打印信息,如下圖:
1641067-4000dcc20247a205.png
錯(cuò)誤碼
蘋(píng)果提供相關(guān)錯(cuò)誤碼如下:
enum
{
NSURLErrorUnknown = -1,
NSURLErrorCancelled = -999,
NSURLErrorBadURL = -1000,
NSURLErrorTimedOut = -1001,
NSURLErrorUnsupportedURL = -1002,
NSURLErrorCannotFindHost = -1003,
NSURLErrorCannotConnectToHost = -1004,
NSURLErrorDataLengthExceedsMaximum = -1103,
NSURLErrorNetworkConnectionLost = -1005,
NSURLErrorDNSLookupFailed = -1006,
NSURLErrorHTTPTooManyRedirects = -1007,
NSURLErrorResourceUnavailable = -1008,
NSURLErrorNotConnectedToInternet = -1009,
NSURLErrorRedirectToNonExistentLocation = -1010,
NSURLErrorBadServerResponse = -1011,
NSURLErrorUserCancelledAuthentication = -1012,
NSURLErrorUserAuthenticationRequired = -1013,
NSURLErrorZeroByteResource = -1014,
NSURLErrorCannotDecodeRawData = -1015,
NSURLErrorCannotDecodeContentData = -1016,
NSURLErrorCannotParseResponse = -1017,
NSURLErrorInternationalRoamingOff = -1018,
NSURLErrorCallIsActive = -1019,
NSURLErrorDataNotAllowed = -1020,
NSURLErrorRequestBodyStreamExhausted = -1021,
NSURLErrorFileDoesNotExist = -1100,
NSURLErrorFileIsDirectory = -1101,
NSURLErrorNoPermissionsToReadFile = -1102,
NSURLErrorSecureConnectionFailed = -1200,
NSURLErrorServerCertificateHasBadDate = -1201,
NSURLErrorServerCertificateUntrusted = -1202,
NSURLErrorServerCertificateHasUnknownRoot = -1203,
NSURLErrorServerCertificateNotYetValid = -1204,
NSURLErrorClientCertificateRejected = -1205,
NSURLErrorClientCertificateRequired = -1206,
NSURLErrorCannotLoadFromNetwork = -2000,
NSURLErrorCannotCreateFile = -3000,
NSURLErrorCannotOpenFile = -3001,
NSURLErrorCannotCloseFile = -3002,
NSURLErrorCannotWriteToFile = -3003,
NSURLErrorCannotRemoveFile = -3004,
NSURLErrorCannotMoveFile = -3005,
NSURLErrorDownloadDecodingFailedMidStream = -3006,
NSURLErrorDownloadDecodingFailedToComplete = -3007
}