Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在iOS wkwebview中从urlrequest获取cookie_Ios_Cookies_Request - Fatal编程技术网

如何在iOS wkwebview中从urlrequest获取cookie

如何在iOS wkwebview中从urlrequest获取cookie,ios,cookies,request,Ios,Cookies,Request,我想在用户登录后获得会话,但cookie始终为零;如何获取它?Cookie通常存储在浏览器中的variable document.Cookie中。 您可以通过执行Javascript代码来访问它。在这种情况下,只需“document.cookie”即可返回cookie func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping

我想在用户登录后获得会话,但cookie始终为零;如何获取它?

Cookie通常存储在浏览器中的variable document.Cookie中。 您可以通过执行Javascript代码来访问它。在这种情况下,只需
“document.cookie”
即可返回cookie

func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
    var req = navigationAction.request;
    let cookie = req.value(forHTTPHeaderField: "Cookie");
    print(cookie) // always nil

    decisionHandler(.allow);
}

Cookie通常存储在浏览器中的variable document.Cookie中。 您可以通过执行Javascript代码来访问它。在这种情况下,只需
“document.cookie”
即可返回cookie

func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
    var req = navigationAction.request;
    let cookie = req.value(forHTTPHeaderField: "Cookie");
    print(cookie) // always nil

    decisionHandler(.allow);
}

为什么不使用iOS 11之后出现的
WKWebView
API

   let cookieScript = "document.cookie;"
   webView.evaluateJavaScript(cookieScript) { (response, error) in
            if let response = response {
                    print(response as! String)
                }
   }

一个优点是,该方法还可以跟踪HttpOnly cookies。

为什么不使用iOS 11之后出现的
WKWebView
API

   let cookieScript = "document.cookie;"
   webView.evaluateJavaScript(cookieScript) { (response, error) in
            if let response = response {
                    print(response as! String)
                }
   }

一个优点是,该方法还跟踪HttpOnly cookies。

如果cookie是http only怎么办?如果cookie是http only怎么办?