我想从经过身份验证的网站下载数据。 我找到了一个很好的代码,但它不起作用。代码只是打印“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/