如何在WebView和NSURLConnection之间共享cookie



目前我的非可视化爬网是使用NSUrlConnection构建的。(我需要在某个时候将其重写为NSURlSession。(我的可视化爬网/执行登录是使用WebView构建的。(我正在努力实现对WkWebView的支持,但使用Lazarus有点复杂,无法获得我需要工作的所有东西。(

我的用例是,我使用嵌入式视觉浏览器登录并设置cookie。然后,我想使用NSURLConnection/NSURLSession继续使用相同的会话/所有内容/登录/cookie进行爬网。

根据我的研究,WkWebView处理的cookie与WebView/NSUrlConnection/NSURlSession有很大不同,我需要在那里编写一些读/写cookie包装器。WebView似乎会自动写入应用程序内的共享cookie存储,并且这些cookie至少在应用程序运行时在应用程序内可用。

假设这是正确的:我如何在NSURLConnection和NSURLSession中使用WebView设置的cookie(稍后我将处理WkWebView(?

IIRC,默认会话([NSURLSession sharedSession](默认情况下应使用共享cookie存储,NSURLConnection也应使用。

如果您正在创建自己的会话,那么在创建会话配置时应该能够将[NSHTTPCookieStorage sharedCookieStorage]指定为cookie存储。

例外情况是,如果你在应用程序扩展中做事情,在这种情况下,你可能需要明确要求主应用程序的cookie存储或其他什么。

最新更新