WebView调用loadUrl时候带上cookie信息

原创 2015年11月19日 23:03:51

今天分享一个小方法~

项目中有一个界面是一个纯webview,为了让这个界面在发布后也可以随时修改样式,当时就没有选择传统的android xml的布局界面,而是选择跳转到一个html界面。但是这个html也不是一个静态页面,他的界面会根据用户不同的等级做出相应的改变。那么这时候,就需要传参数,将用户的信息塞到这个http的请求中。

/* 让webviewloadurl的时候带上cookie信息 */
private void setCookie(){
    /* 获取cookie */
    String key = "key";
    String value = "value";
    String jump_url = "http://192.168.0.5:8889/banner/list.pb"
    //将信息直接存储在cookie中
    BasicClientCookie newCookie = new BasicClientCookie(key, value);
    newCookie.setDomain(getDomainByUrl(jump_url));
    String cookieString = newCookie.getName() + "=" + newCookie.getValue() + "; domain=" + newCookie.getDomain();

    CookieSyncManager.createInstance(this);
    CookieManager cookieManager = CookieManager.getInstance();
    cookieManager.setAcceptCookie(true);
    cookieManager.removeSessionCookie();
    //第一个参数是域名,第二个参数是固定格式的字符串
    cookieManager.setCookie(getDomainByUrl(jump_url), cookieString);
    CookieSyncManager.getInstance().sync();
}



private String getDomainByUrl(String url){
    // 表达式对象(xx.xx.xx.xx)
    Pattern p = Pattern.compile("\\d+\\.\\d+\\.\\d+\\.\\d+");
    // 创建 Matcher 对象
    Matcher m = p.matcher(url);
    String domain = "";
    if(m.find()){
        domain = m.group();
    }
    return domain;
}

调用完setCookie()方法之后,就可以调用loadUrl()了。




版权声明:本文为博主原创文章,未经博主允许不得转载。

安卓原生与H5交互用户丢失(Cookie丢失)现象解决方案

最近几天做了一个项目,是原生和界面混合开发的,登录界面用的原生的登录,通过接口获取Json数据,然后获取到服务器的jsessionid,然后通过webView去加载界面。这里就需要给webView设置...

android 加载webview时,保存并同步cookie实现免登陆

1.首先当加载完webview的时候,我们得获取到webview上设置的cookie信息,代码如下; @Override public void onPageFinishe...

安卓学习笔记---AndroidWebview里设置Cookie遇到的坑

我们一般在使用WebView去加载H5界面的时候都会同步一下Cookie,一般的都会这么做: 在HttpClient中保存下来的Cookie怎么设置到WebView组件里,让WebView也保持住Co...

android webview 保存cookie

在用webview登陆某网站web客户端时,需要保存cookie,这样退出再进入时就不用二次登陆,android使用webview解决Cookie问题的方法是———————————————— publ...

Android WebView访问网站携带登录认证Cookies和动态自定义的cookies

最近项目几个页面要复用微信程序的网页。但是需要调用微网站登录接口,返回Cookies,webview访问需要的网页的时候携带。 并且还需要几个其他的动态改变的cookie,目的是根据这几个动态自定义c...
  • geanwen
  • geanwen
  • 2017年03月19日 11:24
  • 1046

【WebView】Android WebView中的Cookie操作

Android给WebView设置Cookie的方法。

Android在webview上设置cookie,部分cookie失效的问题

app主页的页面都是web开发的,只有登录页是原生的,这就需要Android在调用了登录接口并成功后,把登录信息作为cookie存起来。 网上有存cookie的方法: public void co...

Android WebView添加Cookie和添加请求的头

Android WebView添加Cookie和添加请求的头

在WebView加载页面时添加cookies

场景:应用的登录界面是用android原生写的,登录成功后保存cookies到本地,然后需要用webview去加载某个页面,此时需要给webview添加本地保存的cookies,以避免二次登录. ...

IOS多张图片合成一个视频

- (void)viewDidLoad   {      [superviewDidLoad];       //Do any additional setup after loading th...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:WebView调用loadUrl时候带上cookie信息
举报原因:
原因补充:

(最多只允许输入30个字)