1

我有一个带有 webview 的应用程序来显示一个电子商店网站。由于各种原因,登录标准是用DefaultHttpClientHttpPost以本机形式制作的。

当用户通过登录开始时,我没有问题将会话 cookie 从请求保存到 webview cookie 存储。

我的问题是当用户第一次浏览 webview 登录后,我无法从 cookiestore 中检索 webview cookie 会话以将其放入我的DefaultHttpClient

这是我的代码:

CookieSyncManager.createInstance(context);
CookieManager cookieManager = CookieManager.getInstance();
CookieSyncManager.getInstance().sync();
cookieManager.setAcceptCookie(true);

DefaultHttpClient client = new DefaultHttpClient(clientConnectionManager, params);

String[] keyValueSets = cookieManager.getCookie(context.getString(R.string.cookie_domaine)).split(";");
           for(String cookie : keyValueSets)
           {
               String[] keyValue = cookie.split("=");
               String key = keyValue[0];
               String value = "";
               if(keyValue.length>1) value = keyValue[1];
               BasicClientCookie2 cookieForRequest = (BasicClientCookie2) new BasicClientCookie2(key, value);
               cookieForRequest.setDomain(context.getString(R.string.cookie_domaine));

               cookieForRequest.setPath("/");
               client.getCookieStore().addCookie(cookieForRequest);
           }

在调试中,我看到了我的会话 cookie,但getCookie方法不返回它,我认为这是因为 cookie 会话域以点开头。

如何维护我的webview会话到DefaultHttpClient请求?

4

0 回答 0