我的应用程序内部有一个webView
,只能打开一个网站。我的问题是:当我想登录该网站的服务时,我必须插入一个cookie,该cookie可以通过参数为user
和pass
的post方法获得,该方法以html和HTML格式接收整个网站的代码。我们的Cookie位于标题中。
我的问题是:解决这个奇怪任务的最佳解决方案是什么?
我尝试过的是例如:带有发帖请求的(response as html string)
-> webView
,(response.allHeaderFiles)
-> webView
,但这并不是最佳解决方案,它并不能按预期工作。
答案 0 :(得分:0)
let controller = WKUserContentController()
var source = ""
// Pass your cookie
if let cookies = cookies {
let cookieSource = cookies.map({"**Add your conditon if any**")
source += cookieSource
}
controller.addUserScript(WKUserScript(source: source, injectionTime: .atDocumentStart, forMainFrameOnly: false))
尝试一下。
WKUserScript 对象表示可以注入到网页中的脚本。
ForMainFrameOnly -一个布尔值,指示是否只应将脚本注入
借助 WKUserContentController ,您可以实现这一目标。