ios - NSURLSession 身份验证不起作用

标签 ios swift ssl basic-authentication nsurlsession

我想从经过身份验证的网站下载数据。 我找到了一个很好的代码,但它不起作用。代码只是打印“nil”

func getData()
{
let config = NSURLSessionConfiguration.defaultSessionConfiguration()
let userPasswordString = "user:password"
let userPasswordData = userPasswordString.dataUsingEncoding(NSUTF8StringEncoding)
let base64EncodedCredential = userPasswordData!.base64EncodedStringWithOptions(nil)
let authString = "Basic \(base64EncodedCredential)"
config.HTTPAdditionalHeaders = ["Authorization" : authString]
let session = NSURLSession(configuration: config)
var running = false
let url = NSURL(string: "http://www.exampleschool.de/board")
let task = session.dataTaskWithURL(url!) {
    (let data, let response, let error) in
    if let httpResponse = response as? NSHTTPURLResponse {
        let dataString = NSString(data: data, encoding: NSUTF8StringEncoding)
        println(dataString)
    }
    running = false
}

running = true
task.resume()
while running {
println("waiting...")
sleep(1)
}
}

最佳答案

授权 header 保留供 Apple 使用。您无法安全地修改它,因为 Apple API 会破坏您放置在那里的任何值。

您可以通过阅读URL Session Programming Guide的身份验证章节来了解如何进行身份验证。 .请注意,这些示例适用于 NSURLConnection,但其余文本适用于两者。

关于ios - NSURLSession 身份验证不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34068045/

相关文章:

iphone - 调试 iOS 异常的好方法

ios - 为什么我的对象位置随机但不显示?

无需主机名验证的 Node.js TLS 连接

objective-c - 自定义 UITableViewCell 中的属性未针对 UISearchDisplayController 的表进行初始化

ios - 如何更改 SearchBar 边框颜色

ios - 扩展属性(如果不可用)

ios - 编译 Swift 时收到 “Include of non-modular header inside framework module”

apache - 仅使用 .pem 文件安装 SSL

java - 使用 HTTPS(不受信任的证书)访问带有 Java 的网站时出现问题

ios - AFHTTPRequestOperationManager 始终使用缓存的响应