2014-01-27 55 views

回答

-1

您可以同步的WebView会话COOKIS这样

public static void sync(String url) { 
     List<Cookie> cookies=null; 
     CookieManager cookieManager = CookieManager.getInstance(); 
     if (cookieManager == null) 
      return; 

     RFC2109Spec cookieSpec = new RFC2109Spec(); 
     String rawCookieHeader = null; 
     try { 
      URL parsedURL = new URL(url); 
      rawCookieHeader = cookieManager.getCookie(parsedURL.getHost()); 
      if (rawCookieHeader == null) 
       return; 
      int port = parsedURL.getPort() == -1 ? parsedURL.getDefaultPort() 
        : parsedURL.getPort(); 

      CookieOrigin cookieOrigin = new CookieOrigin(parsedURL.getHost(), 
        port, "/", false); 
      cookies = cookieSpec.parse(new BasicHeader("set-cookie", 
        rawCookieHeader), cookieOrigin); 

      System.out.println("Session Cookis : " + cookies); 

     } catch (Exception e) { 

     } 
    } 

怎么称呼?从webview

webView.setWebViewClient(new WebViewClient(){ 
      @Override 
      public boolean shouldOverrideUrlLoading(WebView view, String url) { 
       sync(url); 
       return super.shouldOverrideUrlLoading(view, url); 
      } 
     }); 
+0

但我在会话中存储变量。不是cookie。 – MichelReap

+0

我没有看到我的会话变量,只有我的cookies :( – MichelReap

+0

相同的cookie将与android httpclient一起工作 –