电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

Android中webView加載H5綁定cookie實例

瀏覽:108日期:2022-09-25 13:23:21

簡介:

我最近在做項目的時候遇到了這種情況:

1.需要用WebView實現(xiàn)一個H5的登陸注冊。

2.大賽報名,用H5實現(xiàn)。這些情況下,我需要把cookie傳給服務(wù)器,讓其判斷當(dāng)前賬戶是否登陸成功。查閱了一些資料后,終于搞定了。

1. 給一個加載的鏈接設(shè)置cookie

private void syncCookie(String url) { try { CookieSyncManager.createInstance(mWvSignUp.getContext());//創(chuàng)建一個cookie管理器 CookieManager cookieManager = CookieManager.getInstance(); cookieManager.setAcceptCookie(true); cookieManager.removeSessionCookie();// 移除以前的cookie cookieManager.removeAllCookie(); StringBuilder sbCookie = new StringBuilder();//創(chuàng)建一個拼接cookie的容器,為什么這么拼接,大家查閱一下http頭Cookie的結(jié)構(gòu) sbCookie.append(_mApplication.getUserInfo().getSessionID());//拼接sessionId sbCookie.append(String.format(';domain=%s', '')); sbCookie.append(String.format(';path=%s', '')); String cookieValue = sbCookie.toString(); cookieManager.setCookie(url, cookieValue);//為url設(shè)置cookie CookieSyncManager.getInstance().sync();//同步cookie } catch (Exception e) { e.printStackTrace(); } }

2.在執(zhí)行webview的loadurl之前,先執(zhí)行

// 設(shè)置cookiesyncCookie(mUrl);

3. 注意事項

這里需要注意的是在設(shè)置cookie之后,是不能設(shè)置以下屬性的,否則cookie是無效的(不只是這些屬性,這里只是舉例,最好的方式是在執(zhí)行l(wèi)oadurl之前再設(shè)置cookie)

mWvSignUp.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE); mWvSignUp.getSettings().setJavaScriptEnabled(true); mWvSignUp.getSettings().setDatabaseEnabled(true); mWvSignUp.getSettings().setDomStorageEnabled(true);

4.一些ajax請求需要帶入cookie怎么辦?

在項目中因為有時候一些點擊事件是用ajax請求實現(xiàn)的,同時也需要判斷是否登陸。瀏覽器會自動保存cookie,并傳送給服務(wù)器,但是android不會,這個時候我們需要攔截這個請求并將cookie附帶上去。

5.0以下:

mWvSignUp.setWebViewClient(new WebViewClient() { /** * 5.0以下 * @param view * @param url * @return */ @Override public WebResourceResponse shouldInterceptRequest(WebView view, String url) { syncCookie(url); return super.shouldInterceptRequest(view, url);//將加好cookie的url傳給父類繼續(xù)執(zhí)行 } });

5.0以上:

mWvSignUp.setWebViewClient(new WebViewClient() { @SuppressLint('NewApi') @Override public WebResourceResponse shouldInterceptRequest(WebViewview, WebResourceRequest request) { String url = request.getUrl().toString(); syncCookie(url); return super.shouldInterceptRequest(view, url);//因為跟5.0以下的方法返回值是同一個類,所以這里偷懶直接調(diào)動4.0方法生成請求 });

注:這里我采用了偷懶的方式,如果有興趣的朋友,可以通過以下的方法設(shè)置cookie

mWvSignUp.setWebViewClient(new WebViewClient() { @SuppressLint('NewApi') @Override public WebResourceResponse shouldInterceptRequest(WebViewview, WebResourceRequest request) { Map<String,String> requestHead = request.getRequestHeaders();//拿到頭 return super.shouldInterceptRequest(view,new WebResourceRequest() { //重寫請求中的數(shù)據(jù),包括頭,此時可以把cookie塞到requestHeader中 @Override public Uri getUrl() { return null; } @Override public boolean isForMainFrame() { return false; } @Override public boolean hasGesture() { return false; } @Override public String getMethod() { return null; } @Override public Map<String, String>getRequestHeaders() { return null; } } })} });

總結(jié):webView還有很多功能需要我們探索,如果有一些好的建議希望在評論里提交給我。希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Android
相關(guān)文章:
主站蜘蛛池模板: 武汉天安盾电子设备有限公司 - 安盾安检,武汉安检门,武汉安检机,武汉金属探测器,武汉测温安检门,武汉X光行李安检机,武汉防爆罐,武汉车底安全检查,武汉液体探测仪,武汉安检防爆设备 | CTAB,表面活性剂1631溴型(十六烷基三甲基溴化铵)-上海升纬化工原料有限公司 | 耐酸泵,耐腐蚀真空泵,耐酸真空泵-淄博华舜耐腐蚀真空泵有限公司 精密模具-双色注塑模具加工-深圳铭洋宇通 | 安徽千住锡膏_安徽阿尔法锡膏锡条_安徽唯特偶锡膏_卡夫特胶水-芜湖荣亮电子科技有限公司 | 超声骨密度仪,双能X射线骨密度仪【起草单位】,骨密度检测仪厂家 - 品源医疗(江苏)有限公司 | 水厂污泥地磅|污泥处理地磅厂家|地磅无人值守称重系统升级改造|地磅自动称重系统维修-河南成辉电子科技有限公司 | 北京开源多邦科技发展有限公司官网 | 五轴加工中心_数控加工中心_铝型材加工中心-罗威斯 | 尚为传动-专业高精密蜗轮蜗杆,双导程蜗轮蜗杆,蜗轮蜗杆减速机,蜗杆减速机生产厂家 | 万家财经_财经新闻_在线财经资讯网 | 反渗透水处理设备|工业零排放|水厂设备|软化水设备|海南净水设备--海南水处理设备厂家 | 哔咔漫画网页版在线_下载入口访问指引| 北京四合院出租,北京四合院出售,北京平房买卖 - 顺益兴四合院 | EPK超声波测厚仪,德国EPK测厚仪维修-上海树信仪器仪表有限公司 | 科箭WMS仓库管理软件-TMS物流管理系统-科箭SaaS云服务 | 恒压供水控制柜|无负压|一体化泵站控制柜|PLC远程调试|MCGS触摸屏|自动控制方案-联致自控设备 | 气动机械手-搬运机械手-气动助力机械手-山东精瑞自动化设备有限公司 | 石家庄网站建设|石家庄网站制作|石家庄小程序开发|石家庄微信开发|网站建设公司|网站制作公司|微信小程序开发|手机APP开发|软件开发 | 对辊破碎机-液压双辊式,强力双齿辊,四辊破碎机价格_巩义市金联机械设备生产厂家 | 汽液过滤网厂家_安平县银锐丝网有限公司| 北京模型公司-军事模型-工业模型制作-北京百艺模型沙盘公司 | 真空泵维修保养,普发,阿尔卡特,荏原,卡西亚玛,莱宝,爱德华干式螺杆真空泵维修-东莞比其尔真空机电设备有限公司 | 派财经_聚焦数字经济内容服务平台 | 祝融环境-地源热泵多恒系统高新技术企业,舒适生活环境缔造者! | 定硫仪,量热仪,工业分析仪,马弗炉,煤炭化验设备厂家,煤质化验仪器,焦炭化验设备鹤壁大德煤质工业分析仪,氟氯测定仪 | 上海皓越真空设备有限公司官网-真空炉-真空热压烧结炉-sps放电等离子烧结炉 | 合金耐磨锤头_破碎机锤头_郑州市德勤建材有限公司 | 合肥活动房_安徽活动板房_集成打包箱房厂家-安徽玉强钢结构集成房屋有限公司 | 微型气泵-真空-蠕动-水泵-厂家-深圳市品亚科技有限公司 | 天然气分析仪-液化气二甲醚分析仪|传昊仪器 | 安徽成考网-安徽成人高考网 | 电气控制系统集成商-PLC控制柜变频控制柜-非标自动化定制-电气控制柜成套-NIDEC CT变频器-威肯自动化控制 | 安徽控制器-合肥船用空调控制器-合肥家电控制器-合肥迅驰电子厂 安徽净化板_合肥岩棉板厂家_玻镁板厂家_安徽科艺美洁净科技有限公司 | 密度电子天平-内校-外校电子天平-沈阳龙腾电子有限公司 | 哈尔滨治「失眠/抑郁/焦虑症/精神心理」专科医院排行榜-京科脑康免费咨询 一对一诊疗 | 成都珞石机械 - 模温机、油温机、油加热器生产厂家 | 整合营销推广|营销网络推广公司|石家庄网站优化推广公司|智营销 好物生环保网、环保论坛 - 环保人的学习交流平台 | 行星搅拌机,双行星搅拌机,动力混合机,无锡米克斯行星搅拌机生产厂家 | 宁波普瑞思邻苯二甲酸盐检测仪,ROHS2.0检测设备,ROHS2.0测试仪厂家 | 贵州科比特-防雷公司厂家提供贵州防雷工程,防雷检测,防雷接地,防雷设备价格,防雷产品报价服务-贵州防雷检测公司 | 粘度计,数显粘度计,指针旋转粘度计|