如何获取一个uiwebview中的请求的cookie

我的webview是内建在native code里做展示的,我需要取出这个webview请求中的Cookie

webView.request.allHTTPHeaderFields

这个方法取出来的header没有Cookies这一项,但事实上这个页面是写了Cookie的
我要通过什么方法来取出Cookie呢?

阅读 20.4k
评论 2012-12-13 提问
    2 个回答
    navy
    • 1.8k

    所有的cookie都会在这里面

        NSHTTPCookieStorage *sharedHTTPCookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
        NSArray *cookies = [sharedHTTPCookieStorage cookiesForURL:[NSURL URLWithString:theURL]];
        NSEnumerator *enumerator = [cookies objectEnumerator];
        NSHTTPCookie *cookie;
        while (cookie = [enumerator nextObject]) {
            NSLog(@"COOKIE{name: %@, value: %@}", [cookie name], [cookie value]);
        }

    官方文档

    参考文档

    评论 赞赏
      testsymbian
      • 2
      • 新人请关照

      对于ios 来说 NSHTTPCookieStorage 会存储APP自身访问所有url的cookie,可以用domain为标志来获取自己所需要的cookie。
      需要注意的是,NSHTTPCookieStorage存储的cookie在过期后会自动删除,如用户手动调整时间超过期时间则系统也会自动删除,因此某些业务逻辑需要注意。

      评论 赞赏
        撰写回答

        登录后参与交流、获取后续更新提醒