WKWebView Cookie注入

Posted tianlin106

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WKWebView Cookie注入相关的知识,希望对你有一定的参考价值。

WKUserContentController *userContentController = WKUserContentController.new;
    NSString *cookieSource = @"document.cookie = ‘TeskCookieKey1=TeskCookieValue1‘;document.cookie = ‘TeskCookieKey2=TeskCookieValue2‘;";

    WKUserScript *cookieScript = [[WKUserScript alloc] initWithSource:cookieSource injectionTime:WKUserScriptInjectionTimeAtDocumentStart forMainFrameOnly:NO];
    [userContentController addUserScript:cookieScript];

    WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init];
    config.userContentController = userContentController;
    self.webview = [[WKWebView alloc] initWithFrame:self.view.bounds configuration:config];

 以上为WKWebView中创建cookie的方法,亲测有效

网上很多种方法都是基于 WKWebsiteDataStore 的使用,但是和我们的H5配合的时候,怎么都取不到对应的值,只有上面的方法能获取到

WKWebsiteDataStore * webStore = [WKWebsiteDataStore nonPersistentDataStore];
    NSHTTPCookie * cookie = [NSHTTPCookie cookieWithProperties:@
                                                                                  
                                                                                  NSHTTPCookieName:@"RefresheEpireTime",
                                                                                  NSHTTPCookieValue:@"2019-05-07",
                                                                                  NSHTTPCookiePath:@"/ui/cookie.html",
                                                                                  NSHTTPCookieDomain:@"test.ripx.com"
                                                                                  ];
    [webStore.httpCookieStore setCookie:cookie completionHandler:nil];

  

以上是关于WKWebView Cookie注入的主要内容,如果未能解决你的问题,请参考以下文章

如何在没有 JavaScript 的情况下将 cookie 注入 WKWebView 或 WKWebSiteDataStore?

在 iOS 12 中设置 WKWebView cookie 接受策略

如何从 WKWebView 启用和获取 cookie?

如何从 WKWebView 获取 cookie?

从 WKWebView 获取所有 cookie

wkwebview免登录,配置cookie,免登陆