Swift:通过委托处理基本身份验证质询时传递自定义HTTP标头

时间:2017-12-04 19:36:25

标签: swift urlsession

我对我的网络服务进行网络通话并获得基本的身份验证挑战。

我需要在质询响应中传递用户名,密码和Cookie。我怎样才能做到这一点? 请注意,我无法将标头作为初始请求的一部分传递,因为存在一些服务器端限制,因此我需要使用这些标头动态响应挑战:

我现在正在使用的是:

func URLSession(session: NSURLSession!, task: NSURLSessionTask!, didReceiveChallenge challenge: NSURLAuthenticationChallenge!, completionHandler: ((NSURLSessionAuthChallengeDisposition, NSURLCredential!) -> Void)!){
    println("task-didReceiveChallenge")

    if challenge.previousFailureCount > 0 {
        println("Alert Please check the credential")
        completionHandler(NSURLSessionAuthChallengeDisposition.CancelAuthenticationChallenge, nil)
    } else {
        var credential = NSURLCredential(user:"username", password:"password", persistence: .ForSession)
        completionHandler(NSURLSessionAuthChallengeDisposition.UseCredential,credential)
    }
}

如何在此行的完成处理程序中传递自定义标头?

completionHandler(NSURLSessionAuthChallengeDisposition.UseCredential,credential)

0 个答案:

没有答案