对于iOS,我编写了NSUrlSession
的自定义委托和实现。它适用于Http网址。但是,当我尝试从已经过身份验证且需要传递Cookie的HTTPS源下载图像资源时,下载失败并显示NSUrlErrorCode
-1013或-1002。
NSMutableUrlRequest req = new NSMutableUrlRequest(new NSUrl(uri.ToString()));
req.Headers = dictHeaders;//
NSUrlSessionDownloadTask newTask = session.CreateDownloadTask(req);
activeDownloads.Add(newTask);
newTask.Resume();
所以在NSUrlSessionDownloadDelegate
我实现了DidReceiveChallenge
方法,但目前没有传递任何内容,因为我想从上面的初始登录中传递cookie。
NSUrlSession
使用共享会话作为完整的应用,但我的初始登录API是使用RestSharp.RestClient
完成的,该NSUrlSession
获取我可以在整个应用中使用的Cookie。
所以我的问题是如何将cookie传递给{{1}}?
答案 0 :(得分:0)
据我所知,使用Cookie的所有工作都经过NSHTTPCookieStorage
课程https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSHTTPCookieStorage_Class/index.html。您可以使用cookieAcceptPolicy
配置应用程序中cookie的使用方式,甚至可以根据需要手动添加/删除Cookie。
NSURLSession将从NSHTTPCookieStorage获取cookie。