iOS--WKWebView Cookie注入

weixin_33785972發表於2018-09-26

WKWebView Cookie注入

在一些專案中我們需要通過webView來訪問內容,那麼就可能用到cookie,今天就來說一下,在iOS開發中如何向webView中注入cookie。

設定cookie內容

/// 建立cookie 此處只為示例
    
    let cookieString =  "document.cookie='cookie'"
    
    /// 注入cookie
    let userScript = WKUserScript.init(source: cookieString,
                                       injectionTime: .atDocumentStart,
                                       forMainFrameOnly: false)
                                       
    let userController = WKUserContentController.init()
    
    userController.addUserScript(userScript)
    
    webViewConfig.userContentController = userController
    
    webView = WKWebView.init(frame: frame, configuration: webViewConfig)

其中 'cookie' 具體為你當前所在專案或者所需要的功能需要的內容,

一般的會是 Key=Value 結構,每對鍵值對需要要 ';' 來隔開。

舉個例子

某個專案cookie需要上傳使用者的token,

並且規定了token的key為固定的一段字串:"abcdefg"

並且cookie的域名設定為根目錄: /

cookie的域名為:baidu.com

那麼最後生成的Cookie就是 'abcdefg=token;Path=/;Domain=baidu.com;'

然後程式碼上就這麼寫

/// 建立cookie字串
let cookieString =  "document.cookie='abcdefg=token;Path=/;Domain=baidu.com;'"

相關文章