webview获取网页cookie

iOS WebView获取与使用网页Cookie实现免登
本文介绍如何在iOS的WebView中获取网页Cookie,以实现在App重新进入时判断用户登录状态。通过监听webViewDidFinishLoad,获取NSHTTPCookieStorage中的cookie,并将登录信息保存在NSUserDefaults中。当App首次加载时,检查是否有登录信息,如有则通过JavaScript与前端交互,传递用户信息。当用户在WebView中退出登录,清除本地存储的数据。
部署运行你感兴趣的模型镜像

我在native加载webview时遇到一个问题,登陆是在前端做的,那我们的app退出重新进入时都会再次登陆,这里我是去获取网页的cookie

func webViewDidFinishLoad(webView: UIWebView) {

let cookies = NSHTTPCookieStorage.sharedHTTPCookieStorage().cookies

 var cookie = NSHTTPCookie()

for c in cookies!{

       if c.isKindOfClass(NSHTTPCookie){

           cookie = c

print("\(cookie.name)  \(cookie.value)")

}

}

//用户登录后获取到需要的信息

let info:String = "{id:\"\(id)\",name:\"\(username)\"}"

NSUserDefaults.standardUserDefaults().setObject(info, forKey: "userInfo")

}

现在我们第一次进入app时就可以告诉前端我们是否是登录的状态,同样是在webViewDidFinishLoad实现

if firstLoad == true{

ifNSUserDefaults.standardUserDefaults().objectForKey("userInfo") != nil {

userInfo = NSUserDefaults.standardUserDefaults().objectForKey("userInfo") as! String  

        let js = "nativeSendUserInfoToJs(\(userInfo))"

        self.webView?.stringByEvaluatingJavaScriptFromString(js)

}

}

irstLoad == false

当在webview页面上点击了退出登录,清除我们持久化的数据就可以了


您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值