2013-10-04 53 views
3

我正在使用自述文件(來自AFNetworking 2.0頁面)的一個簡單示例來下載圖像。對於直接從我的網絡服務器提供的圖像,所有作品都可以正常工作。 但是對於那些位於S3的Web服務器返回302重定向以下錯誤:AFNetworking 2.0:NSURLSessionDownloadTask在收到302到AWS S3時取消

Error Domain=NSURLErrorDomain Code=-999 "cancelled" 

當我嘗試直接從S3(省略重定向)我收到下載圖像(使用相同的代碼)同樣的錯誤。

我檢查了wget的實際圖像的可用性。該圖像是公開可用的(https://youguide.s3.amazonaws.com/icons/user_96x96.png)。

任何人都會遇到類似的問題嗎?

回答

14

我和S3有同樣的問題,似乎已經解決了它。 AFNetworking在取消請求的身份驗證質詢處理邏輯中返回一個值。

通過告訴AFURLSessionManager如何處理身份驗證挑戰我已解決該問題。

[manager setSessionDidReceiveAuthenticationChallengeBlock:^NSURLSessionAuthChallengeDisposition (NSURLSession *session, NSURLAuthenticationChallenge *challenge, NSURLCredential * __autoreleasing *credential) { 
    return NSURLSessionAuthChallengePerformDefaultHandling; 
}]; 
+0

感謝您的提示。那麼AFHTTPRequestOperationManager而不是SessionManager的情況呢? – Oleksandr

+0

將您的'AFNetworking'升級到2.0.1,並且該錯誤應該爲您解決。昨天提交了一個提交,它在HTTP對應子類的'AFURLSessionManager'中完成,從而解決了這個問題。以下是相關的GitHub問題線程:https://github.com/AFNetworking/AFNetworking/issues/1431#issuecomment-25937811。 –

+0

你救了我的一天!非常感謝! – zioolek