iOS網(wǎng)絡請求錯誤整理

在iOS開發(fā)中經(jīng)常會遇到網(wǎng)絡請求的錯誤, 一方面可能會是自己網(wǎng)絡請求的方式, 參數(shù), 請求頭等造成的; 另一方面可能就是后臺寫的接口出了問題; 所以看懂報錯原因就顯得尤為重要.

一. iOS錯誤狀態(tài)碼

經(jīng)常遇到的錯誤是400~500, 下面主要整理下它們各自的報錯原因:

HTTP 錯誤 400

400 請求出錯
由于語法格式有誤症概,服務器無法理解此請求边苹。不作修改纺非,客戶程序就無法重復此請求。

HTTP 錯誤 401

401.1 未授權:登錄失敗
此錯誤表明傳輸給服務器的證書與登錄服務器所需的證書不匹配砂沛。
請與 Web 服務器的管理員聯(lián)系,以確認您是否具有訪問所請求資源的權限伏伯。
401.2 未授權:服務器的配置導致登錄失敗
此錯誤表明傳輸給服務器的證書與登錄服務器所需的證書不匹配浩考。此錯誤通常由未發(fā)送正確的 WWW 驗證表頭字段所致壤圃。
請與 Web 服務器的管理員聯(lián)系陵霉,以確認您是否具有訪問所請求資源的權限。
401.3 未授權:由于資源中的 ACL 而未授權
此錯誤表明客戶所傳輸?shù)淖C書沒有對服務器中特定資源的訪問權限伍绳。此資源可能是客戶機中的地址行所列出的網(wǎng)頁或文件踊挠,也可能是處理客戶機中的地址行所列出的文件所需服務器上的其他文件。
請記錄試圖訪問的完整地址冲杀,并與 Web 服務器的管理員聯(lián)系以確認您是否具有訪問所請求資源的權限效床。
401.4 未授權:授權服務被篩選程序拒絕
此錯誤表明 Web 服務器已經(jīng)安裝了篩選程序,用以驗證連接到服務器的用戶漠趁。此篩選程序拒絕連接到此服務器的真品證書的訪問扁凛。
請記錄試圖訪問的完整地址,并與 Web 服務器的管理員聯(lián)系以確認您是否具有訪問所請求資源的權限闯传。
401.5 未授權:ISAPI/CGI 應用程序的授權失敗
此錯誤表明試圖使用的 Web服務器中的地址已經(jīng)安裝了 ISAPI 或 CGI程序谨朝,在繼續(xù)之前用以驗證用戶的證書。此程序拒絕用來連接到服務器的真品證書的訪問。
請記錄試圖訪問的完整地址字币,并與 Web服務器的管理員聯(lián)系以確認您是否具有訪問所請求資源的權限

HTTP 錯誤 403

403.1 禁止:禁止執(zhí)行訪問
如果從并不允許執(zhí)行程序的目錄中執(zhí)行 CGI则披、ISAPI或其他執(zhí)行程序就可能引起此錯誤。
如果問題依然存在洗出,請與 Web 服務器的管理員聯(lián)系士复。
403.2 禁止:禁止讀取訪問
如果沒有可用的默認網(wǎng)頁或未啟用此目錄的目錄瀏覽,或者試圖顯示駐留在只標記為執(zhí)行或腳本權限的目錄中的HTML 頁時就會導致此錯誤翩活。
如果問題依然存在阱洪,請與 Web 服務器的管理員聯(lián)系。
403.3 禁止:禁止寫訪問
如果試圖上載或修改不允許寫訪問的目錄中的文件菠镇,就會導致此問題冗荸。
如果問題依然存在,請與 Web服務器的管理員聯(lián)系利耍。
403.4 禁止:需要 SSL
此錯誤表明試圖訪問的網(wǎng)頁受安全套接字層(SSL)的保護蚌本。要查看,必須在試圖訪問的地址前輸入https:// 以啟用 SSL隘梨。
如果問題依然存在程癌,請與 Web服務器的管理員聯(lián)系。
403.5 禁止:需要 SSL 128
此錯誤消息表明您試圖訪問的資源受 128位的安全套接字層(SSL)保護轴猎。要查看此資源嵌莉,需要有支持此SSL 層的瀏覽器。
請確認瀏覽器是否支持 128 位 SSL安全性税稼。如果支持烦秩,就與 Web服務器的管理員聯(lián)系,并報告問題郎仆。
403.6 禁止:拒絕 IP 地址
如果服務器含有不允許訪問此站點的 IP地址列表,并且您正使用的 IP地址在此列表中兜蠕,就會導致此問題扰肌。
如果問題依然存在,請與 Web服務器的管理員聯(lián)系熊杨。
403.7 禁止:需要用戶證書
當試圖訪問的資源要求瀏覽器具有服務器可識別的用戶安全套接字層(SSL)證書時就會導致此問題曙旭。可用來驗證您是否為此資源的合法用戶晶府。
請與 Web服務器的管理員聯(lián)系以獲取有效的用戶證書桂躏。
403.8 禁止:禁止站點訪問
如果 Web服務器不為請求提供服務,或您沒有連接到此站點的權限時川陆,就會導致此問題剂习。
請與 Web 服務器的管理員聯(lián)系。
403.9 禁止訪問:所連接的用戶太多
如果 Web太忙并且由于流量過大而無法處理您的請求時就會導致此問題。請稍后再次連接鳞绕。
如果問題依然存在失仁,請與 Web 服務器的管理員聯(lián)系。
403.10 禁止訪問:配置無效
此時 Web 服務器的配置存在問題们何。
如果問題依然存在萄焦,請與 Web服務器的管理員聯(lián)系。
403.11 禁止訪問:密碼已更改
在身份驗證的過程中如果用戶輸入錯誤的密碼冤竹,就會導致此錯誤拂封。請刷新網(wǎng)頁并重試。
如果問題依然存在鹦蠕,請與 Web服務器的管理員聯(lián)系烘苹。
403.12 禁止訪問:映射程序拒絕訪問
拒絕用戶證書試圖訪問此 Web 站點。
請與站點管理員聯(lián)系以建立用戶證書權限片部。如果必要镣衡,也可以更改用戶證書并重試。

HTTP 錯誤 404

404 找不到
Web 服務器找不到您所請求的文件或腳本档悠。請檢查URL 以確保路徑正確廊鸥。
如果問題依然存在,請與服務器的管理員聯(lián)系辖所。

HTTP 錯誤 405

405 不允許此方法
對于請求所標識的資源惰说,不允許使用請求行中所指定的方法。請確保為所請求的資源設置了正確的 MIME 類型缘回。
如果問題依然存在吆视,請與服務器的管理員聯(lián)系。

HTTP 錯誤 406

406 不可接受
根據(jù)此請求中所發(fā)送的“接受”標題酥宴,此請求所標識的資源只能生成內容特征為“不可接受”的響應實體啦吧。
如果問題依然存在,請與服務器的管理員聯(lián)系拙寡。

HTTP 錯誤 407

**407 需要代理身份驗證 **
在可為此請求提供服務之前授滓,您必須驗證此代理服務器。請登錄到代理服務器肆糕,然后重試般堆。
如果問題依然存在,請與 Web 服務器的管理員聯(lián)系诚啃。

HTTP 錯誤 412

412 前提條件失敗
在服務器上測試前提條件時淮摔,部分請求標題字段中所給定的前提條件估計為FALSE∈际辏客戶機將前提條件放置在當前資源 metainformation(標題字段數(shù)據(jù))中和橙,以防止所請求的方法被誤用到其他資源仔燕。
如果問題依然存在,請與 Web 服務器的管理員聯(lián)系胃碾。

HTTP 錯誤 414

**414 Request-URI 太長 **
Request-URL太長涨享,服務器拒絕服務此請求。僅在下列條件下才有可能發(fā)生此條件:
客戶機錯誤地將 POST 請求轉換為具有較長的查詢信息的 GET 請求仆百。
客戶機遇到了重定向問題(例如厕隧,指向自身的后綴的重定向前綴)。
服務器正遭受試圖利用某些服務器(將固定長度的緩沖區(qū)用于讀取或執(zhí)行 Request-URI)中的安全性漏洞的客戶干擾俄周。
如果問題依然存在吁讨,請與 Web 服務器的管理員聯(lián)系。

HTTP 錯誤 500

500 服務器的內部錯誤
Web 服務器不能執(zhí)行此請求峦朗。請稍后重試此請求建丧。
如果問題依然存在,請與 Web服務器的管理員聯(lián)系波势。

HTTP 錯誤 501

501 未實現(xiàn)
Web 服務器不支持實現(xiàn)此請求所需的功能翎朱。請檢查URL 中的錯誤,如果問題依然存在尺铣,請與 Web服務器的管理員聯(lián)系拴曲。

HTTP 錯誤 502

502 網(wǎng)關出錯
當用作網(wǎng)關或代理時,服務器將從試圖實現(xiàn)此請求時所訪問的upstream 服務器中接收無效的響應凛忿。
如果問題依然存在澈灼,請與 Web服務器的管理員聯(lián)系。

附:
iOS網(wǎng)絡請求的錯誤狀態(tài)碼
維基百科 List of HTTP status codes

二. 特殊的錯誤處理

證書無效問題:NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9843)

當前服務器的證書無效, 網(wǎng)上也有很多其他的處理方式, 我選擇的是下方這種, 附上代碼:

 @implementation NSURLRequest (NSURLRequestWithIgnoreSSL)  
 + (BOOL)allowsAnyHTTPSCertificateForHost:(NSString *)host  
{  
     return YES;  
 }   
@end 

把這個段代碼 寫到NSURLRequest分類中, 作用是 繞過SSL證書驗證, 直接訪問; 當然這樣的做法不安全, 一般都不會這樣做, 只是為了測試接口是否可用, 最好還是服務器添加證書;
附:
https信任證書的三種方式

希望看到此文的簡友們能夠積極補充, 共同維護這篇文章, 多謝(__) 嘻嘻……

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末店溢,一起剝皮案震驚了整個濱河市叁熔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌床牧,老刑警劉巖荣回,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異叠赦,居然都是意外死亡驹马,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門除秀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人算利,你說我怎么就攤上這事册踩。” “怎么了效拭?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵暂吉,是天一觀的道長胖秒。 經(jīng)常有香客問我,道長慕的,這世上最難降的妖魔是什么阎肝? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮肮街,結果婚禮上风题,老公的妹妹穿的比我還像新娘。我一直安慰自己嫉父,他們只是感情好沛硅,可當我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著绕辖,像睡著了一般摇肌。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上仪际,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天围小,我揣著相機與錄音,去河邊找鬼树碱。 笑死肯适,一個胖子當著我的面吹牛,可吹牛的內容都是我干的赴恨。 我是一名探鬼主播疹娶,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼伦连!你這毒婦竟也來了雨饺?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤惑淳,失蹤者是張志新(化名)和其女友劉穎额港,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體歧焦,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡移斩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了绢馍。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片向瓷。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖舰涌,靈堂內的尸體忽然破棺而出猖任,到底是詐尸還是另有隱情,我是刑警寧澤瓷耙,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布朱躺,位于F島的核電站刁赖,受9級特大地震影響,放射性物質發(fā)生泄漏长搀。R本人自食惡果不足惜宇弛,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望源请。 院中可真熱鬧枪芒,春花似錦、人聲如沸巢钓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽症汹。三九已至硫朦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間背镇,已是汗流浹背咬展。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留瞒斩,地道東北人破婆。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像胸囱,于是被迫代替她去往敵國和親祷舀。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內容