ios - 如何从 WKWebView 获取 cookie?

标签 ios macos cookies wkwebview

如何从 WKWebView 实例获取所有 cookie?

到目前为止,这是我尝试过的:

最佳答案

由于这个问题在一年后仍未得到解答,因此我发布了我的不完美但有效的解决方案:

您可以访问 NSHTTPURLResponse - webView:decidePolicyForNavigationResponse:decisionHandler: 中的对象在 WKNavigationDelegate 上定义的方法.您可以稍后从 HTTP header 中手动提取 cookie:

- (void)webView:(WKWebView *)webView decidePolicyForNavigationResponse:(WKNavigationResponse *)navigationResponse decisionHandler:(void (^)(WKNavigationResponsePolicy))decisionHandler {
    NSHTTPURLResponse* response = navigationResponse.response;
    NSArray *cookies = [NSHTTPCookie cookiesWithResponseHeaderFields:[response allHeaderFields] forURL:[NSURL URLWithString:@""]];
    for (NSHTTPCookie *cookie in cookies) {
        // Do something with the cookie
    }

    decisionHandler(WKNavigationResponsePolicyAllow);
}

如果您有更好的解决方案,请发布您的解决方案。

关于ios - 如何从 WKWebView 获取 cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28232963/

相关文章:

ios - 如何在 SwiftUI 中应用大于底层 View 的叠加层

ios - 更改 UIBarButtonItem 的字体

ios - 如何在 iOS 上使用 Firebase 和 Flutter 获取推送通知?

macos - 在 macOS Catalina 上安装 GCC

linux - long double 在 64 位 linux、mac 和其他系统中需要的对齐方式是什么?

javascript - 从 Angular 侧的nodejs读取cookie

android - 在flutter中刷新 token

macos - docker 未在OSX上打开端口

python-3.x - 无法使用 Selenium 和 Splinter 添加 cookie

http - cookie 的域属性是否发送回服务器?