Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何将cookie传递给NSUrlSession?_Ios_Xamarin_Nsurlsession_Nsurlsessiondownloadtask - Fatal编程技术网

Ios 如何将cookie传递给NSUrlSession?

Ios 如何将cookie传递给NSUrlSession?,ios,xamarin,nsurlsession,nsurlsessiondownloadtask,Ios,Xamarin,Nsurlsession,Nsurlsessiondownloadtask,对于iOS,我编写了一个自定义委托和NSUrlSession的实现。它在Http URL上运行良好。但当我尝试从经过身份验证且需要传递Cookie的HTTPS源下载图像资源时,下载失败,出现nsurErrorCode-1013或-1002 NSMutableUrlRequest req = new NSMutableUrlRequest(new NSUrl(uri.ToString())); req.Headers = dictHeaders;// NSUrlSessionDownload

对于iOS,我编写了一个自定义委托和
NSUrlSession
的实现。它在Http URL上运行良好。但当我尝试从经过身份验证且需要传递Cookie的HTTPS源下载图像资源时,下载失败,出现
nsurErrorCode
-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
完成的,它获取我可以在整个应用程序中使用的cookie


因此,我的问题是如何将cookie传递给
NSUrlSession

据我所知,所有使用cookie的工作都要经过
NSHTTPCookieStorage
类。您可以使用
cookieAcceptPolicy
来配置应用程序中如何使用cookie,甚至在需要时手动添加/删除cookie


NSURLSession将从NSHTTPCookieStorage获取cookie。

是的,这是文档中说的,也是我尝试的第一件事,但是我们可以将字符串(标题值)转换为NSHTTPCookieStorage对象。您需要填写所有cookie字段,至少是domain/name/value。您需要转换什么字符串?