ios - AFURLSessionManager 身份验证

标签 ios swift authentication afnetworking

我正在尝试使用 AFNetworking 在我的 iOS 应用程序中实现一个简单的文件下载方法。首先,我创建一个 AFURLSessionManager:

let configuration = NSURLSessionConfiguration.defaultSessionConfiguration()
let manager = AFURLSessionManager(sessionConfiguration: configuration)

然后我创建并触发下载任务:

let task = manager.downloadTaskWithRequest(request, progress: nil, destination: {
        (targetPath: NSURL, response: NSURLResponse) -> NSURL in

        // ...
        return fullPathURL

    }, completionHandler: {
        (response: NSURLResponse, filePath: NSURL?, error: NSError?) in

        // ...
})

task.resume()

当我运行该应用程序时,我收到一条错误消息,告诉我我无权访问该网址:

NSLocalizedDescription=Request failed: unauthorized (401)

我尝试使用setSessionDidReceiveAuthenticationChallengeBlock,但该 block 从未被调用。

所以问题是:如何使用 AFURLSessionManager 传递基本 http 身份验证的凭据?

最佳答案

我修复了它:您需要使用 setTaskDidReceiveAuthenticationChallengeBlock 来处理下载任务的身份验证挑战。

关于ios - AFURLSessionManager 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37649456/

相关文章:

ruby-on-rails - 如何在 Rails 中设计电子邮件确认后登录用户

ios - 无法识别的选择器发送到实例 NSArrayM

ios - 如何在自身类中设置 UIBarButtonSystemItem (Swift)

ios - 点击导航栏上的返回项时更新表格 View 数据源

c - string.withCString 和 UnsafeMutablePointer(变异 : cstring) wrapped into a function

asp.net-mvc - 当 ASP.NET MVC session 过期时注销用户

Angular 身份验证等待在守卫之前在本地存储中设置权限

ios - UISlider停止改变值

ios - 停止在 UITableViewCell 中重复值

swift - 如何在不中断视频预览的情况下仅在录制时将音频输入添加到 AVCaptureSession?