詳細解析幾個和網(wǎng)絡請求有關的類(二十六) —— NSURLError錯誤碼及其相關作用(一)

版本記錄

版本號 時間
V1.0 2018.05.26

前言

我們做APP發(fā)起網(wǎng)絡請求儿子,一般都是使用框架,這些框架的底層也都是蘋果的API蛀序,接下來幾篇就一起來看一下和網(wǎng)絡有關的幾個類纤控。感興趣的可以看上面幾篇文章挂捻。
1. 詳細解析幾個和網(wǎng)絡請求有關的類 (一) —— NSURLSession
2. 詳細解析幾個和網(wǎng)絡請求有關的類(二) —— NSURLRequest和NSMutableURLRequest
3. 詳細解析幾個和網(wǎng)絡請求有關的類(三) —— NSURLConnection
4. 詳細解析幾個和網(wǎng)絡請求有關的類(四) —— NSURLSession和NSURLConnection的區(qū)別
5. 詳細解析幾個和網(wǎng)絡請求有關的類(五) —— 關于NSURL加載系統(tǒng)(一)
6. 詳細解析幾個和網(wǎng)絡請求有關的類(六) —— 使用NSURLSession(二)
7. 詳細解析幾個和網(wǎng)絡請求有關的類(七) —— URL數(shù)據(jù)的編碼和解碼(三)
8. 詳細解析幾個和網(wǎng)絡請求有關的類(八) —— 處理重定向和其他請求更改(四)
9. 詳細解析幾個和網(wǎng)絡請求有關的類(九) —— 身份驗證挑戰(zhàn)和TLS鏈驗證(五)
10. 詳細解析幾個和網(wǎng)絡請求有關的類(十) —— 理解獲取緩存(六)
11. 詳細解析幾個和網(wǎng)絡請求有關的類(十一) —— Cookies和自定義協(xié)議(七)
12. 詳細解析幾個和網(wǎng)絡請求有關的類(十二) —— URL Session的生命周期(八)
13. 詳細解析幾個和網(wǎng)絡請求有關的類(十三) —— NSURLResponse(一)
14. 詳細解析幾個和網(wǎng)絡請求有關的類(十四) —— NSHTTPCookie(一)
15. 詳細解析幾個和網(wǎng)絡請求有關的類(十五) —— NSHTTPCookieStorage(一)
16. 詳細解析幾個和網(wǎng)絡請求有關的類(十六) —— NSURLCache(一)
17. 詳細解析幾個和網(wǎng)絡請求有關的類(十七) —— NSCachedURLResponse(一)
18. 詳細解析幾個和網(wǎng)絡請求有關的類(十八) —— NSURLAuthenticationChallenge(一)
19. 詳細解析幾個和網(wǎng)絡請求有關的類(十九) —— NSURLProtectionSpace(一)
20. 詳細解析幾個和網(wǎng)絡請求有關的類(二十) —— NSURLCredential(一)
21. 詳細解析幾個和網(wǎng)絡請求有關的類(二十一) —— NSURLCredentialStorage(一)
22. 詳細解析幾個和網(wǎng)絡請求有關的類(二十二) —— NSStream(一)
23. 詳細解析幾個和網(wǎng)絡請求有關的類(二十三) —— NSInputStream(一)
24. 詳細解析幾個和網(wǎng)絡請求有關的類(二十四) —— NSOutputStream(一)
25. 詳細解析幾個和網(wǎng)絡請求有關的類(二十五) —— NSHTTPCookie之設置刪除和通信(二)

回顧

上一篇講述了Cookie的設置刪除以及利用Cookie進行通信,下面這篇我們繼續(xù)深入一下看一下和URL Loading相關的錯誤碼NSURLError船万。


NSURLError - API

下面首先看一下NSURLError - API

*/
#if TARGET_OS_IPHONE
#if __has_include(<CFNetwork/CFNetwork.h>)
#import <CFNetwork/CFNetwork.h>
#endif
#elif TARGET_OS_WIN32
#import <CFNetwork/CFNetwork.h>
#else
#import <CoreServices/CoreServices.h>
#endif

#import <Foundation/NSObjCRuntime.h>
#import <Foundation/NSError.h>

@class NSString;

NS_ASSUME_NONNULL_BEGIN

/*
    @discussion Constants used by NSError to differentiate between "domains" of error codes, serving as a discriminator for error codes that originate from different subsystems or sources.
    @constant NSURLErrorDomain Indicates an NSURL error.
*/
FOUNDATION_EXPORT NSErrorDomain const NSURLErrorDomain;

/*!
    @const NSURLErrorFailingURLErrorKey
    @abstract The NSError userInfo dictionary key used to store and retrieve the URL which caused a load to fail.
*/
FOUNDATION_EXPORT NSString * const NSURLErrorFailingURLErrorKey API_AVAILABLE(macos(10.6), ios(4.0), watchos(2.0), tvos(9.0));

/*!
    @const NSURLErrorFailingURLStringErrorKey
    @abstract The NSError userInfo dictionary key used to store and retrieve the NSString object for the URL which caused a load to fail.
    @discussion This constant supersedes NSErrorFailingURLStringKey, which was deprecated in Mac OS X 10.6.  Both constants refer to the same value for backward-compatibility, but this symbol name has a better prefix.
*/
FOUNDATION_EXPORT NSString * const NSURLErrorFailingURLStringErrorKey API_AVAILABLE(macos(10.6), ios(4.0), watchos(2.0), tvos(9.0));

/*!
    @const NSErrorFailingURLStringKey
    @abstract The NSError userInfo dictionary key used to store and retrieve the NSString object for the URL which caused a load to fail.
    @discussion This constant is deprecated in Mac OS X 10.6, and is superseded by NSURLErrorFailingURLStringErrorKey.  Both constants refer to the same value for backward-compatibility, but the new symbol name has a better prefix.
*/
FOUNDATION_EXPORT NSString * const NSErrorFailingURLStringKey API_DEPRECATED("Use NSURLErrorFailingURLStringErrorKey instead", macos(10.0,10.6), ios(2.0,4.0), watchos(2.0,2.0), tvos(9.0,9.0));

/*!
    @const NSURLErrorFailingURLPeerTrustErrorKey
    @abstract The NSError userInfo dictionary key used to store and retrieve the SecTrustRef object representing the state of a failed SSL handshake.
 */
FOUNDATION_EXPORT NSString * const NSURLErrorFailingURLPeerTrustErrorKey API_AVAILABLE(macos(10.6), ios(4.0), watchos(2.0), tvos(9.0));

/*!
    @const NSURLErrorBackgroundTaskCancelledReasonKey
    @abstract The NSError userInfo dictionary key used to store and retrieve the NSNumber corresponding to the reason why a background
    NSURLSessionTask was cancelled
 */
FOUNDATION_EXPORT NSString * const NSURLErrorBackgroundTaskCancelledReasonKey API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0));

/*!
    @enum Codes associated with NSURLErrorBackgroundTaskCancelledReasonKey
    @abstract Constants used by NSError to indicate why a background NSURLSessionTask was cancelled.
 */

NS_ENUM(NSInteger)
{
    NSURLErrorCancelledReasonUserForceQuitApplication =    0,
    NSURLErrorCancelledReasonBackgroundUpdatesDisabled =   1,
    NSURLErrorCancelledReasonInsufficientSystemResources API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0)) = 2,
    
} API_AVAILABLE(macos(10.10), ios(7.0), watchos(2.0), tvos(9.0));

/*!
    @enum NSURL-related Error Codes
    @abstract Constants used by NSError to indicate errors in the NSURL domain
*/
NS_ERROR_ENUM(NSURLErrorDomain)
{
    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 API_AVAILABLE(macos(10.11), ios(9.0), watchos(2.0), tvos(9.0)) = -1022,
    NSURLErrorFileDoesNotExist =        -1100,
    NSURLErrorFileIsDirectory =         -1101,
    NSURLErrorNoPermissionsToReadFile =     -1102,
    NSURLErrorDataLengthExceedsMaximum API_AVAILABLE(macos(10.5), ios(2.0), watchos(2.0), tvos(9.0)) =  -1103,
    NSURLErrorFileOutsideSafeArea API_AVAILABLE(macos(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 API_AVAILABLE(macos(10.7), ios(3.0), watchos(2.0), tvos(9.0)) =         -1018,
    NSURLErrorCallIsActive API_AVAILABLE(macos(10.7), ios(3.0), watchos(2.0), tvos(9.0)) =                    -1019,
    NSURLErrorDataNotAllowed API_AVAILABLE(macos(10.7), ios(3.0), watchos(2.0), tvos(9.0)) =                  -1020,
    NSURLErrorRequestBodyStreamExhausted API_AVAILABLE(macos(10.7), ios(3.0), watchos(2.0), tvos(9.0)) =      -1021,
    
    NSURLErrorBackgroundSessionRequiresSharedContainer API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0)) = -995,
    NSURLErrorBackgroundSessionInUseByAnotherProcess API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0)) = -996,
    NSURLErrorBackgroundSessionWasDisconnected API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0))= -997,
};

NS_ASSUME_NONNULL_END

這里有一個很重要的錯誤碼枚舉NSURLErrorDomain刻撒,里面定義了錯誤碼的值。


NSURLErrorDomain詳細解析

先看一下其基本情況

1. NSURLErrorUnknown

URL加載系統(tǒng)遇到無法解釋的錯誤時返回耿导。

當錯誤來自較低級別的框架或庫時声怔,可能會發(fā)生這種情況。 無論何時收到此錯誤代碼舱呻,都是一個錯誤醋火,應該向Apple報告。

適用于Mac OS X v10.2及更高版本。

2. NSURLErrorCancelled

當異步加載被取消時返回芥驳。

Web Kit框架代理在對加載資源執(zhí)行取消操作時將收到此錯誤柿冲。 請注意,如果下載被取消兆旬,NSURLConnectionNSURLDownload代理將不會收到此錯誤假抄。

適用于Mac OS X v10.2及更高版本。

NSURLError.h中聲明爵憎。

3. NSURLErrorBadURL

當URL格式錯誤慨亲,無法啟動URL請求時返回

適用于Mac OS X v10.2及更高版本婚瓜。

NSURLError.h中聲明宝鼓。

4. NSURLErrorTimedOut

當異步操作超時時返回。

如果NSURLRequest中的timeoutInterval在加載完成之前到期巴刻,NSURLConnection會將此錯誤發(fā)送給它的委托愚铡。

適用于Mac OS X v10.2及更高版本。

NSURLError.h中聲明胡陪。

5. NSURLErrorUnsupportedURL

當形成的URL不能被框架處理時返回沥寥。

最可能的原因是URL沒有可用的協(xié)議處理程序。

適用于Mac OS X v10.2及更高版本柠座。

NSURLError.h中聲明邑雅。

6. NSURLErrorCannotFindHost

當無法解析URL的主機名時返回。

適用于Mac OS X v10.2及更高版本妈经。

NSURLError.h中聲明淮野。

7. NSURLErrorCannotConnectToHost

當嘗試連接到主機失敗時返回。

當主機名解析時吹泡,可能會發(fā)生這種情況骤星,但主機已關閉或可能不接受某個端口上的連接。

適用于Mac OS X v10.2及更高版本爆哑。

NSURLError.h中聲明洞难。

8. NSURLErrorDataLengthExceedsMaximum

當資源數(shù)據(jù)的長度超過允許的最大值時返回。

適用于Mac OS X v10.5及更高版本揭朝。

NSURLError.h中聲明队贱。

9. NSURLErrorNetworkConnectionLost

當客戶端或服務器連接在正在進行的加載過程中被切斷時返回。

適用于Mac OS X v10.2及更高版本潭袱。

NSURLError.h中聲明露筒。

10. NSURLErrorDNSLookupFailed

請參閱NSURLErrorCannotFindHost

適用于Mac OS X v10.2及更高版本。

NSURLError.h中聲明敌卓。

11. NSURLErrorHTTPTooManyRedirects

當檢測到重定向循環(huán)或超過允許重定向次數(shù)閾值(當前為16)時返回慎式。

適用于Mac OS X v10.2及更高版本。

NSURLError.h中聲明。

12. NSURLErrorResourceUnavailable

無法檢索請求的資源時返回瘪吏。

例如“未找到文件”以及數(shù)據(jù)解碼問題癣防,這些問題會阻止數(shù)據(jù)正確處理。

適用于Mac OS X v10.2及更高版本掌眠。

NSURLError.h中聲明蕾盯。

13. NSURLErrorNotConnectedToInternet

當請求網(wǎng)絡資源時返回,但互聯(lián)網(wǎng)連接未建立蓝丙,并且無法自動建立级遭,無論是通過缺少連接還是由用戶選擇不自動建立網(wǎng)絡連接。

適用于Mac OS X v10.2及更高版本渺尘。

NSURLError.h中聲明挫鸽。

14. NSURLErrorRedirectToNonExistentLocation

當通過服務器響應代碼指定重定向時返回,但服務器不附帶重定向URL鸥跟。

適用于Mac OS X v10.2及更高版本丢郊。

NSURLError.h中聲明。

15. NSURLErrorBadServerResponse

URL加載系統(tǒng)收到來自服務器的錯誤數(shù)據(jù)時返回医咨。

這相當于HTTP服務器發(fā)送的500 Server Error消息枫匾。

適用于Mac OS X v10.2及更高版本。

NSURLError.h中聲明拟淮。

16. NSURLErrorUserCancelledAuthentication

用戶取消異步認證請求時返回干茉。

這通常是通過點擊用戶名/密碼對話框中的“取消”按鈕而發(fā)生的,而不是用戶嘗試進行身份驗證很泊。

適用于Mac OS X v10.2及更高版本角虫。

NSURLError.h中聲明。

17. NSURLErrorUserAuthenticationRequired

在需要認證來訪問資源時返回撑蚌。

適用于Mac OS X v10.2及更高版本上遥。

NSURLError.h中聲明。

18. NSURLErrorZeroByteResource

當服務器報告URL的內(nèi)容長度不為零時返回争涌,但會“優(yōu)雅地”終止網(wǎng)絡連接而不發(fā)送任何數(shù)據(jù)粉楚。

適用于Mac OS X v10.2及更高版本。

NSURLError.h中聲明亮垫。

19. NSURLErrorCannotDecodeRawData

NSURLConnection請求期間收到的內(nèi)容數(shù)據(jù)無法解碼已知內(nèi)容編碼時返回模软。

適用于Mac OS X v10.5及更高版本。

NSURLError.h中聲明饮潦。

20. NSURLErrorCannotDecodeContentData

NSURLConnection請求期間收到的內(nèi)容數(shù)據(jù)具有未知內(nèi)容編碼時返回燃异。

適用于Mac OS X v10.5及更高版本。

NSURLError.h中聲明继蜡。

21. NSURLErrorCannotParseResponse

當對NSURLConnection請求的響應無法解析時返回回俐。

適用于Mac OS X v10.5及更高版本逛腿。

NSURLError.h中聲明。

22. NSURLErrorFileDoesNotExist

當文件不存在時返回仅颇。

適用于Mac OS X v10.2及更高版本单默。

NSURLError.h中聲明。

23. NSURLErrorFileIsDirectory

當對FTP文件的請求導致服務器響應該文件不是普通文件而是文件夾目錄時返回忘瓦。

適用于Mac OS X v10.2及更高版本搁廓。

NSURLError.h中聲明。

24. NSURLErrorNoPermissionsToReadFile

由于權(quán)限不足而無法讀取資源時返回耕皮。

適用于Mac OS X v10.2及更高版本境蜕。

NSURLError.h中聲明。

25. NSURLErrorSecureConnectionFailed

當嘗試建立安全連接失敗時凌停,由于無法更具體地表達的原因而返回粱年。

適用于Mac OS X v10.2及更高版本。

NSURLError.h中聲明苦锨。

26. NSURLErrorServerCertificateHasBadDate

當服務器證書的日期顯示已過期或尚未生效時返回逼泣。

適用于Mac OS X v10.2及更高版本趴泌。

NSURLError.h中聲明舟舒。

27. NSURLErrorServerCertificateUntrusted

當服務器證書由不受信任的根服務器簽名時返回。

適用于Mac OS X v10.2及更高版本嗜憔。

NSURLError.h中聲明秃励。

28. NSURLErrorServerCertificateHasUnknownRoot

服務器證書未由任何根服務器簽名時返回。

適用于Mac OS X v10.2及更高版本吉捶。

NSURLError.h中聲明夺鲜。

29. NSURLErrorServerCertificateNotYetValid

當服務器證書尚未有效時返回。

適用于Mac OS X v10.4及更高版本呐舔。

NSURLError.h中聲明币励。

30. NSURLErrorClientCertificateRejected

當服務器證書被拒絕時返回。

適用于Mac OS X v10.4及更高版本珊拼。

NSURLError.h中聲明食呻。

31. NSURLErrorClientCertificateRequired

NSURLConnection請求期間需要客戶端證書來驗證SSL連接時返回。

適用于Mac OS X v10.6及更高版本澎现。

NSURLError.h中聲明仅胞。

32. NSURLErrorCannotLoadFromNetwork

僅當從緩存中加載項目的特定請求無法滿足時才會返回。

這個錯誤是在庫去網(wǎng)絡的時候發(fā)送的剑辫,因為load only from cache指令阻止了這個事實的發(fā)生干旧。

適用于Mac OS X v10.2及更高版本。

NSURLError.h中聲明妹蔽。

33. NSURLErrorCannotCreateFile

NSURLDownload對象由于I / O故障而無法在磁盤上創(chuàng)建下載的文件時返回椎眯。

適用于Mac OS X v10.2及更高版本挠将。

NSURLError.h中聲明。

34. NSURLErrorCannotOpenFile

NSURLDownload無法在磁盤上打開下載的文件時返回编整。

適用于Mac OS X v10.2及更高版本捐名。

NSURLError.h中聲明。

35. NSURLErrorCannotCloseFile

NSURLDownload無法關閉磁盤上的下載文件時返回闹击。

適用于Mac OS X v10.2及更高版本镶蹋。

NSURLError.h中聲明。

36. NSURLErrorCannotWriteToFile

NSURLDownload無法寫入磁盤上的下載文件時返回赏半。

適用于Mac OS X v10.2及更高版本贺归。

NSURLError.h中聲明。

37. NSURLErrorCannotRemoveFile

NSURLDownload無法從磁盤刪除下載的文件時返回断箫。

適用于Mac OS X v10.2及更高版本拂酣。

NSURLError.h中聲明。

38. NSURLErrorCannotMoveFile

NSURLDownload無法將下載的文件移動到磁盤上時返回仲义。

適用于Mac OS X v10.2及更高版本婶熬。

NSURLError.h中聲明。

39. NSURLErrorDownloadDecodingFailedMidStream

當在下載過程中NSURLDownload無法解碼編碼文件時返回埃撵。

適用于Mac OS X v10.2及更高版本赵颅。

NSURLError.h中聲明。

40. NSURLErrorDownloadDecodingFailedToComplete

當下載后NSURLDownload無法解碼編碼文件時返回暂刘。

適用于Mac OS X v10.2及更高版本饺谬。

NSURLError.h中聲明。

41. NSURLErrorInternationalRoamingOff

當連接需要在漫游時激活數(shù)據(jù)上下文時返回谣拣,但國際漫游已禁用募寨。

適用于iOS 3.0及更高版本。

NSURLError.h中聲明森缠。

42. NSURLErrorCallIsActive

當在不支持同時進行電話和數(shù)據(jù)通信(EDGE或GPRS)的網(wǎng)絡上打電話時嘗試進行連接時返回拔鹰。

適用于iOS 3.0及更高版本。

NSURLError.h中聲明贵涵。

43. NSURLErrorDataNotAllowed

當蜂窩網(wǎng)絡不允許連接時返回列肢。

適用于iOS 3.0及更高版本。

NSURLError.h中聲明独悴。

44. NSURLErrorRequestBodyStreamExhausted

當需要正文流但客戶端不提供正文流時返回例书。 這會影響使用正文流發(fā)送POST請求的iOS客戶端,但不會實現(xiàn)NSURLConnection代理方法連接:needNewBodyStream刻炒。

適用于iOS 3.0及更高版本决采。

NSURLError.h中聲明。

45. NSURLErrorBackgroundSessionRequiresSharedContainer

46. NSURLErrorBackgroundSessionInUseByAnotherProcess

47. NSURLErrorBackgroundSessionWasDisconnected


關于NSURLErrorDomain的使用

NSURLErrorDomain的使用就是用來根據(jù)不同的錯誤碼提示坟奥,找到對應問題的原因树瞭,最終還是落實到問題的解決上拇厢,所以本篇文章只是對錯誤碼的了解,真正最后的作用是根據(jù)不同的錯誤碼可以快速定位問題所在晒喷,解決問題孝偎。

大家可以看一個阿里關于錯誤碼處理的文集 —— NSURLErrorDomain,里面是不同框架不同情況的錯誤碼提示以及相關的解決方法凉敲。

參考文章

1. NSError code錯誤列表信息(NSFileManage衣盾、NSURL...)
2. iOS中的NSError code(錯誤碼)

后記

本篇主要介紹URL加載系統(tǒng)的錯誤碼及其相關作用,感興趣的給點贊或者關注~~~~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末爷抓,一起剝皮案震驚了整個濱河市势决,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蓝撇,老刑警劉巖果复,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異渤昌,居然都是意外死亡虽抄,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進店門独柑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來迈窟,“玉大人,你說我怎么就攤上這事群嗤〔ぢ。” “怎么了兵琳?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵狂秘,是天一觀的道長。 經(jīng)常有香客問我躯肌,道長者春,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任清女,我火速辦了婚禮钱烟,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘嫡丙。我一直安慰自己拴袭,他們只是感情好,可當我...
    茶點故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布曙博。 她就那樣靜靜地躺著拥刻,像睡著了一般。 火紅的嫁衣襯著肌膚如雪父泳。 梳的紋絲不亂的頭發(fā)上般哼,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天吴汪,我揣著相機與錄音,去河邊找鬼蒸眠。 笑死漾橙,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的楞卡。 我是一名探鬼主播霜运,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蒋腮!你這毒婦竟也來了觉渴?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤徽惋,失蹤者是張志新(化名)和其女友劉穎案淋,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體险绘,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡踢京,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了宦棺。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瓣距。...
    茶點故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖代咸,靈堂內(nèi)的尸體忽然破棺而出蹈丸,到底是詐尸還是另有隱情,我是刑警寧澤呐芥,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布逻杖,位于F島的核電站,受9級特大地震影響思瘟,放射性物質(zhì)發(fā)生泄漏荸百。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一滨攻、第九天 我趴在偏房一處隱蔽的房頂上張望够话。 院中可真熱鬧,春花似錦光绕、人聲如沸女嘲。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽欣尼。三九已至,卻和暖如春景埃,著一層夾襖步出監(jiān)牢的瞬間媒至,已是汗流浹背顶别。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留拒啰,地道東北人驯绎。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像谋旦,于是被迫代替她去往敵國和親剩失。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內(nèi)容