我有一个WKWebView,其Cookie存储中包含Cookie。
如果我调试cookie存储区中的内容,则会看到我感兴趣的JSESSIONID
cookie:
[NSHTTPCookie]
name = JSESSIONID
value = 36A3E5D5C4382D5220E70C3D29A4F5E9
domain = my.domain.net
path = /
expiresDate = (null)
sessionOnly = 1
secure = 0
comment = (null)
commentURL = (null)
version = 1
但是,当我使用如下所示的webview加载URL时:
[self.webView loadRequest:request]; // request URL is @"https://my.domain.net/47874/1105451/index.html"
未发送cookie !!!
我发现发送它的唯一方法是将其手动添加到请求中,如下所示:
[request addValue:@"JSESSIONID=36A3E5D5C4382D5220E70C3D29A4F5E9" forHTTPHeaderField:@"Cookie"];
我认为不需要...
但这仍然无法解决我的问题,因为我加载的index.html
在同一个域(.js
)上有两个my.domain.net
文件依赖项,它们需要JSESSIONID
cookie为了成功再次获取,WKWebView不会发送我的JSESSIONID
cookie。
经过数天的测试,这个问题确实使我发疯/试图使这个简单的事情起作用...
顺便说一句:在任何主持人这样做之前,我已经检查了SO或其他站点(github等)上报告的WKWebView与cookie相关的所有问题,因此在问我是否是确实是重复的还是不重复的。预先谢谢你。