有沒有人知道在iOS SDK中定義了HTTP狀態碼as specified here?或者我應該期望在常量文件中手動重新定義它們?iOS SDK中的任何位置是否定義了HTTP狀態碼?
回答
我
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/System/Library/Frameworks/
做了
grep -r '404' *
又上來空手所以答案几乎肯定是 「不」。
或者,也許代碼被定義爲相對值的枚舉,如kHTTPErrorBadRequestCodes = 400和kHTTPErrorNotFound = kHTTPErrorBadRequestCodes + 4 ...所以你不能確定... – AliSoftware 2011-06-22 18:39:44
我可以有信心地說,這將是非常荒謬的,所以我懷疑它。 – Kalle 2011-06-22 19:11:46
我同意,我也對此表示懷疑;)但是我們仍然保持希望^^ – AliSoftware 2011-06-22 20:37:53
那麼,他們在這個意義上定義的
[NSHTTPURLResponse localizedStringForStatusCode:(NSInteger)statusCode]
可以返回給定的狀態碼的字符串。那是你在找什麼?
不完全 - 我使用HTTP狀態代碼來控制應用程序邏輯 - 例如,402會觸發AlertView告訴用戶他應該進行應用內購買才能繼續。我有#defined HTTP_PAYMENT_REQUIRED 402,但我覺得應該已經在API中的某個位置出現了,就像它在Android中一樣。 – esilver 2011-04-22 19:37:09
http狀態碼可以由服務器響應來定義。當有連接時,可以使用NSURLResponse讀出statusCode。 那些4 **響應可以在您的服務器上進行內部定義。
我認爲JocelynH已經說得對:根據w3.org [link](http://www.w3.org/Protocols/rfc2616/) RFC2616-SEC10。在OP中,「除了響應HEAD請求之外,服務器應該包含一個實體,其中包含對錯誤情況的解釋......」我的猜測是,無論出於何種原因,Apple都選擇退出枚舉遊戲對於400範圍的錯誤,因爲它們應該是服務依賴的。 (不是我必然同意這個推理。) – clozach 2011-08-25 18:27:29
我也找不到一個我期望存在的頭文件,所以我不得不寫一個我自己的頭文件。
使用GitHub中的nv-ios-http-status項目中包含的HTTPStatusCodes.h,基於HTTP狀態代碼的分派可以寫成如下形式。
#import "HTTPStatusCodes.h"
......
- (void)connection:(NSURLConnection *)connection
didReceiveResponse:(NSURLResponse *)response
{
NSHTTPURLResponse *res = (NSHTTPURLResponse *)response;
switch ([res statusCode])
{
// 200 OK
case kHTTPStatusCodeOK:
......;
}
......
}
我希望HTTPStatusCodes.h可以節省你和其他開發人員的時間。
有一個完整的OBJ-C庫定義迄今爲止所有代碼: https://github.com/rafiki270/HTTP-Status-Codes-for-Objective-C
UPDATE: 新雨燕的版本是在這裏: https://github.com/manGoweb/StatusCodes
還有一個斯威夫特吊墜重用:
- 1. 是否HTTP狀態碼事
- 2. 是否有任何理由使用HTTP 410 GONE狀態碼?
- 3. iOS Facebook狀態位置
- 4. 捲曲狀態碼415是否有任何PHP.ini設置?
- 5. 在android框架上,是否有任何類中定義了常見的HTTP HEADER
- 6. iOS sdk中是否提供了當前位置/指南針標題按鈕?
- 7. web的含義是無狀態的,http是無狀態協議?
- 8. 如何檢查iOS中的http請求響應狀態碼?
- 9. HTTP 404是否應該在HTTP 403狀態碼之前?
- 10. iOS SDK中當前位置的方位
- 11. 如何從WCF REST方法創建自定義HTTP狀態碼?
- 12. 如何使用WCF REST讀取自定義HTTP狀態碼?
- 13. 如何從WCF REST方法返回自定義HTTP狀態碼?
- 14. 任何WSGI中間件在特定狀態碼上進行HTTP重定向?
- 15. HTTP狀態代碼
- 16. System.Net.WebException HTTP狀態碼
- 17. HTTP 1xx狀態碼
- 18. Response.Redirect HTTP狀態碼
- 19. http狀態碼200
- 20. SDK錯過了我定義我的AVD的位置
- 21. HTTP狀態碼是否被認爲是「幻數」?
- 22. 將http狀態碼設置爲XXX.X?
- 23. 在BGL中定義了color_map的位置?
- 24. HTTP API狀態代碼的自定義文本
- 25. REST的4xx http狀態碼
- 26. NotFoundException的HTTP狀態碼500
- 27. GWT Requestfactory的HTTP狀態碼
- 28. MVC3自定義錯誤和HTTP狀態
- 29. hapijs自定義http狀態消息
- 30. 如何在Perl中獲取HTTP狀態和位置標題?
我做了一個grep的-r '404' *在/傑韋利oper/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/System/Library/Frameworks /並且空手而來,所以答案几乎肯定是「不」。 – Kalle 2011-06-21 11:20:04
@Kalle你應該發表你的評論作爲答案,它似乎是一個明確的我。 – benzado 2011-06-22 16:53:39
完成。 :)(最小注釋長度填充) – Kalle 2011-06-22 17:53:53