尝试使用 NSURLSession 加载网页
Posted
技术标签:
【中文标题】尝试使用 NSURLSession 加载网页【英文标题】:Trying to load web pages using NSURLSession 【发布时间】:2016-02-16 12:56:39 【问题描述】:当我尝试将网页与 cookie 值一起加载时,我的服务器端代码没有获得正确的 cookie 值。所以我试图通过NSURLSession
加载它。但是没有调用委托方法。
我使用NSURLSession
加载网页。下面是我的代码
let sessionConfig = NSURLSessionConfiguration.defaultSessionConfiguration()
let session = NSURLSession(configuration: sessionConfig, delegate: self, delegateQueue: NSOperationQueue.mainQueue())
let task = session.dataTaskWithRequest(URLRequest)
task.resume()
func URLSession(session: NSURLSession, downloadTask: NSURLSessionDownloadTask, didResumeAtOffset fileOffset: Int64, expectedTotalBytes: Int64)
print("Resumed : \(fileOffset)")
func URLSession(session: NSURLSession, downloadTask: NSURLSessionDownloadTask, didWriteData bytesWritten: Int64, totalBytesWritten: Int64, totalBytesExpectedToWrite: Int64)
print("Download : \(totalBytesWritten) Expected : \(totalBytesExpectedToWrite)")
func URLSession(session: NSURLSession, downloadTask: NSURLSessionDownloadTask, didFinishDownloadingToURL location: NSURL)
ProgressHUD.dismiss()
webPage.loadData(NSData(contentsOfURL: location)!, MIMEType: (downloadTask.response?.MIMEType)!, textEncodingName: (downloadTask.response?.textEncodingName)!, baseURL: (downloadTask.response?.URL)!)
我已经添加了NSURLSessionDelegate, NSURLSessionDownloadDelegate, NSURLSessionTaskDelegate, NSURLSessionDataDelegate
但是委托方法没有被调用。
还有其他加载网页的方法吗?
请帮忙
【问题讨论】:
您是否将视图控制器设置为委托? 【参考方案1】:您实现的委托方法用于下载任务,但您使用的是数据任务。您需要实现数据任务委托方法。
【讨论】:
以上是关于尝试使用 NSURLSession 加载网页的主要内容,如果未能解决你的问题,请参考以下文章
尝试使用 Alamofire 下载图像时,NSURLSession/NSURLConnection HTTP 加载失败
NSURLSession "HTTP 加载失败 kCFStreamErrorDomainSSL, -9813 ; 自签名证书
NSURLSession/NSURLConnection HTTP 加载失败 (kCFStreamErrorDomainSSL, -9801)
POST 值在 ios 9 中出现错误(NSURLSession/NSURLConnection HTTP 加载失败(kCFStreamErrorDomainSSL,-9813)