Alamofire分析

来源:互联网 发布:木马网络行为分析 编辑:程序博客网 时间:2024/05/20 14:16
Manager 生成Request
Request根据请求不同生成不同的delegate对象
SessionDelegate 利用subdelegates存储对应Request的对应的deleagte
同时实现一些通用的SessionDelegate
通过self[task] 调用对应的delegate方法
之所以这么实现大概是为了是Request能处理文件上传,下载,同时请求数据。

参考 http://www.cocoachina.com/ios/20151118/14240.html

另外信任无效证书代码如下

func acceptInvalidSSLCerts() {    let manager = Alamofire.Manager.sharedInstance    print("trying to accept invalid certs")        manager.delegate.sessionDidReceiveChallenge = { session, challenge in        var disposition: NSURLSessionAuthChallengeDisposition = .PerformDefaultHandling        var credential: NSURLCredential?                print("received challenge")                if challenge.protectionSpace.authenticationMethod == NSURLAuthenticationMethodServerTrust {            disposition = NSURLSessionAuthChallengeDisposition.UseCredential            credential = NSURLCredential(forTrust: challenge.protectionSpace.serverTrust!)        } else {            if challenge.previousFailureCount > 0 {                disposition = .CancelAuthenticationChallenge            } else {                credential = manager.session.configuration.URLCredentialStorage?.defaultCredentialForProtectionSpace(challenge.protectionSpace)                                if credential != nil {                    disposition = .UseCredential                }            }        }                return (disposition, credential)    }}


0 0
原创粉丝点击