AFNetworking 網(wǎng)絡(luò)請求失敗后通過 NSError 判斷失敗原因

錯誤碼

這里給出蘋果提供的所有網(wǎng)絡(luò)請求的錯誤碼,可以根據(jù)不同錯誤碼來給出不同的錯誤提示以及給出相應(yīng)的操作,想具體了解每個錯誤碼對應(yīng)什么意思可以自行查詢一下官方文檔。

/*!
    @enum NSURL-related Error Codes
    @abstract Constants used by NSError to indicate errors in the NSURL domain
*/
NS_ENUM(NSInteger)
{
    NSURLErrorUnknown =             -1,
    NSURLErrorCancelled =           -999,
    NSURLErrorBadURL =              -1000,
    NSURLErrorTimedOut =            -1001,
    NSURLErrorUnsupportedURL =          -1002,
    NSURLErrorCannotFindHost =          -1003,
    NSURLErrorCannotConnectToHost =         -1004,
    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,
    NSURLErrorAppTransportSecurityRequiresSecureConnection NS_ENUM_AVAILABLE(10_11, 9_0) = -1022,
    NSURLErrorFileDoesNotExist =        -1100,
    NSURLErrorFileIsDirectory =         -1101,
    NSURLErrorNoPermissionsToReadFile =     -1102,
    NSURLErrorDataLengthExceedsMaximum NS_ENUM_AVAILABLE(10_5, 2_0) =   -1103,
    NSURLErrorFileOutsideSafeArea API_AVAILABLE(macosx(10.12.4), ios(10.3), watchos(3.2), tvos(10.2)) = -1104,
    
    // SSL errors
    NSURLErrorSecureConnectionFailed =      -1200,
    NSURLErrorServerCertificateHasBadDate =     -1201,
    NSURLErrorServerCertificateUntrusted =  -1202,
    NSURLErrorServerCertificateHasUnknownRoot = -1203,
    NSURLErrorServerCertificateNotYetValid =    -1204,
    NSURLErrorClientCertificateRejected =   -1205,
    NSURLErrorClientCertificateRequired =   -1206,
    NSURLErrorCannotLoadFromNetwork =       -2000,
    
    // Download and file I/O errors
    NSURLErrorCannotCreateFile =        -3000,
    NSURLErrorCannotOpenFile =          -3001,
    NSURLErrorCannotCloseFile =         -3002,
    NSURLErrorCannotWriteToFile =       -3003,
    NSURLErrorCannotRemoveFile =        -3004,
    NSURLErrorCannotMoveFile =          -3005,
    NSURLErrorDownloadDecodingFailedMidStream = -3006,
    NSURLErrorDownloadDecodingFailedToComplete =-3007,

    NSURLErrorInternationalRoamingOff NS_ENUM_AVAILABLE(10_7, 3_0) =         -1018,
    NSURLErrorCallIsActive NS_ENUM_AVAILABLE(10_7, 3_0) =                    -1019,
    NSURLErrorDataNotAllowed NS_ENUM_AVAILABLE(10_7, 3_0) =                  -1020,
    NSURLErrorRequestBodyStreamExhausted NS_ENUM_AVAILABLE(10_7, 3_0) =      -1021,
    
    NSURLErrorBackgroundSessionRequiresSharedContainer NS_ENUM_AVAILABLE(10_10, 8_0) = -995,
    NSURLErrorBackgroundSessionInUseByAnotherProcess NS_ENUM_AVAILABLE(10_10, 8_0) = -996,
    NSURLErrorBackgroundSessionWasDisconnected NS_ENUM_AVAILABLE(10_10, 8_0)= -997,
};

有關(guān)于網(wǎng)絡(luò)請求失敗的解釋:

case -1://NSURLErrorUnknown
errorMesg = @"無效的URL地址";
break;
case -999://NSURLErrorCancelled
errorMesg = @"無效的URL地址";
break;
case -1000://NSURLErrorBadURL
errorMesg = @"無效的URL地址";
break;
case -1001://NSURLErrorTimedOut
errorMesg = @"網(wǎng)絡(luò)不給力,請稍后再試";
break;
case -1002://NSURLErrorUnsupportedURL
errorMesg = @"不支持的URL地址";
break;
case -1003://NSURLErrorCannotFindHost
errorMesg = @"找不到服務(wù)器";
break;
case -1004://NSURLErrorCannotConnectToHost
errorMesg = @"連接不上服務(wù)器";
break;
case -1103://NSURLErrorDataLengthExceedsMaximum
errorMesg = @"請求數(shù)據(jù)長度超出最大限度";
break;
case -1005://NSURLErrorNetworkConnectionLost
errorMesg = @"網(wǎng)絡(luò)連接異常";
break;
case -1006://NSURLErrorDNSLookupFailed
errorMesg = @"DNS查詢失敗";
break;
case -1007://NSURLErrorHTTPTooManyRedirects
errorMesg = @"HTTP請求重定向";
break;
case -1008://NSURLErrorResourceUnavailable
errorMesg = @"資源不可用";
break;
case -1009://NSURLErrorNotConnectedToInternet
errorMesg = @"無網(wǎng)絡(luò)連接";
break;
case -1010://NSURLErrorRedirectToNonExistentLocation
errorMesg = @"重定向到不存在的位置";
break;
case -1011://NSURLErrorBadServerResponse
errorMesg = @"服務(wù)器響應(yīng)異常";
break;
case -1012://NSURLErrorUserCancelledAuthentication
errorMesg = @"用戶取消授權(quán)";
break;
case -1013://NSURLErrorUserAuthenticationRequired
errorMesg = @"需要用戶授權(quán)";
break;
case -1014://NSURLErrorZeroByteResource
errorMesg = @"零字節(jié)資源";
break;
case -1015://NSURLErrorCannotDecodeRawData
errorMesg = @"無法解碼原始數(shù)據(jù)";
break;
case -1016://NSURLErrorCannotDecodeContentData
errorMesg = @"無法解碼內(nèi)容數(shù)據(jù)";
break;
case -1017://NSURLErrorCannotParseResponse
errorMesg = @"無法解析響應(yīng)";
break;
case -1018://NSURLErrorInternationalRoamingOff
errorMesg = @"國際漫游關(guān)閉";
break;
case -1019://NSURLErrorCallIsActive
errorMesg = @"被叫激活";
break;
case -1020://NSURLErrorDataNotAllowed
errorMesg = @"數(shù)據(jù)不被允許";
break;
case -1021://NSURLErrorRequestBodyStreamExhausted
errorMesg = @"請求體";
break;
case -1100://NSURLErrorFileDoesNotExist
errorMesg = @"文件不存在";
break;
case -1101://NSURLErrorFileIsDirectory
errorMesg = @"文件是個目錄";
break;
case -1102://NSURLErrorNoPermissionsToReadFile
errorMesg = @"無讀取文件權(quán)限";
break;
case -1200://NSURLErrorSecureConnectionFailed
errorMesg = @"安全連接失敗";
break;
case -1201://NSURLErrorServerCertificateHasBadDate
errorMesg = @"服務(wù)器證書失效";
break;
case -1202://NSURLErrorServerCertificateUntrusted
errorMesg = @"不被信任的服務(wù)器證書";
break;
case -1203://NSURLErrorServerCertificateHasUnknownRoot
errorMesg = @"未知Root的服務(wù)器證書";
break;
case -1204://NSURLErrorServerCertificateNotYetValid
errorMesg = @"服務(wù)器證書未生效";
break;
case -1205://NSURLErrorClientCertificateRejected
errorMesg = @"客戶端證書被拒";
break;
case -1206://NSURLErrorClientCertificateRequired
errorMesg = @"需要客戶端證書";
break;
case -2000://NSURLErrorCannotLoadFromNetwork
errorMesg = @"無法從網(wǎng)絡(luò)獲取";
break;
case -3000://NSURLErrorCannotCreateFile
errorMesg = @"無法創(chuàng)建文件";
break;
case -3001:// NSURLErrorCannotOpenFile
errorMesg = @"無法打開文件";
break;
case -3002://NSURLErrorCannotCloseFile
errorMesg = @"無法關(guān)閉文件";
break;
case -3003://NSURLErrorCannotWriteToFile
errorMesg = @"無法寫入文件";
break;
case -3004://NSURLErrorCannotRemoveFile
errorMesg = @"無法刪除文件";
break;
case -3005://NSURLErrorCannotMoveFile
errorMesg = @"無法移動文件";
break;
case -3006://NSURLErrorDownloadDecodingFailedMidStream
errorMesg = @"下載解碼數(shù)據(jù)失敗";
break;
case -3007://NSURLErrorDownloadDecodingFailedToComplete
errorMesg = @"下載解碼數(shù)據(jù)失敗";
break;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容