gpt4 book ai didi

ios - 如何从 WKWebView 获取 cookie

转载 作者:行者123 更新时间:2023-11-28 17:56:06 25 4
gpt4 key购买 nike

我有这个加载登录页面的 WKWebView,我需要的是在成功登录(表单提交)后设置的“iPlanetDirectoryPro”cookie(见下图)。所以,我试图存储它以便在另一个 WKWebView 中使用它。有趣的是“sharedHTTPCookieStorage”包含其他 cookie 但不包含“iPlanetDirectoryPro”。

enter image description here

到目前为止我尝试了什么:

  1. 创建了一个共享进程池,并为第一个 WKWebView 和我尝试在“iPlanetDirectoryPro”上使用的那个使用了相同的配置。
  2. 我使用此委托(delegate)方法decidePolicyForNavigationResponse 来获取 cookie:

    - (void)webView:(WKWebView *)webView decidePolicyForNavigationResponse:(WKNavigationResponse *)navigationResponse decisionHandler:(void (^)(WKNavigationResponsePolicy))decisionHandler{
    NSHTTPURLResponse *response = (NSHTTPURLResponse *)navigationResponse.response;
    NSArray *cookies =[NSHTTPCookie cookiesWithResponseHeaderFields:[response allHeaderFields] forURL:response.URL];

    for (NSHTTPCookie *cookie in cookies) {
    [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];
    }

    decisionHandler(WKNavigationResponsePolicyAllow);
    }
  3. 在 webView 上评估 JavaScript 命令 document.cookie。

有什么想法吗?

最佳答案

无论出于何种原因,WKWebView 和 HTTPCookieStorage 都不能完美地协同工作。您需要自己管理 cookie,例如您可以查看 here

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com