WKWebView httpCookie未发送

问题描述 投票:0回答:1

我正在尝试将带有URLRequest的cookie发送到xcode中的WKWebView,我的应用程序需要发送会话cookie以避免网站上的登录页面。我已经尝试了多种方法,但都无法正常工作!

第一方式:

    if #available(iOS 11.0, *) {
      let cookie = HTTPCookie(properties: [
          .domain: URL1,
          .path: "/",
          .name: "sid",
          .value: sessionId,
          .secure: "True",
          .expires: NSDate(timeIntervalSinceNow: 31556926)
      ])!
      webView.configuration.websiteDataStore.httpCookieStore.setCookie(cookie)
    } else {
       //other
    }

第二种方式:

        // First
    let jar = HTTPCookieStorage.shared
    let sessionValue = sessionId + "; expires= ( date )";
    let cookieHeaderField = ["Set-Cookie": sessionValue] // Or ["Set-Cookie": "key=value, key2=value2"] for multiple cookies
    let cookies = HTTPCookie.cookies(withResponseHeaderFields: cookieHeaderField, for: url)
    jar.setCookies(cookies, for: url, mainDocumentURL: url)

另一个:

    var request = URLRequest(url: url as URL)
    request.setValue("sid=\(sessionId);", forHTTPHeaderField: "Set-Cookie")
    request.httpShouldHandleCookies = true
    webView.load(request)

有人可以帮我吗!

ios xcode session-cookies wkwebview swift5
1个回答
0
投票

最后!这条线解决了我的问题,节省了我的时间

HTTPCookieStorage.shared.cookieAcceptPolicy = .always

所以,永远不要忘记这一行!

© www.soinside.com 2019 - 2024. All rights reserved.