Comment get tous les cookies d'une instance WKWebView?
Voici ce que j'ai essayé jusqu'ici:
J'ai essayé d'utiliser - [WKWebView evaluateJavaScript:completionHandler:]
pour évaluer document.cookie
– malheureusement, le résultat ne contient pas de cookies marqués comme HttpOnly .
Selon l' introduction de l'API WebKit moderne (WWDC 2014 Session 206) , il devrait être possible d'get un object de response
partir d'une instance de WKNavigation
. Cependant, selon la reference de class , WKNavigation
ne contient aucune méthode / propriété publique.
Depuis que cette question n'a pas été répondue après un an, je post ma solution imparfaite, mais de travail:
Vous pouvez accéder à un object NSHTTPURLResponse
dans - webView:decidePolicyForNavigationResponse:decisionHandler:
méthode définie sur WKNavigationDelegate
. Vous pouvez ensuite extraire les cookies manuellement depuis l'en-tête HTTP:
- (void)webView:(WKWebView *)webView decidePolicyForNavigationResponse:(WKNavigationResponse *)navigationResponse decisionHandler:(void (^)(WKNavigationResponsePolicy))decisionHandler { NSHTTPURLResponse* response = navigationResponse.response; NSArray *cookies = [NSHTTPCookie cookiesWithResponseHeaderFields:[response allHeaderFields] forURL:[NSURL URLWithSsortingng:@""]]; for (NSHTTPCookie *cookie in cookies) { // Do something with the cookie } decisionHandler(WKNavigationResponsePolicyAllow); }
Veuillez postr votre solution si vous en avez une meilleure.