2014-09-10 2 views
1

Я хочу скопировать cookie, который я получил в WEbView, а затем использовать их в моих urlopenconnections.
По умолчанию я используюСкопируйте файл cookie из WebView в HttpUrlOpenConnection

CookieManager cookieManager = new CookieManager(); 
     CookieHandler.setDefault(cookieManager); 

И это работает отлично обрабатывать печенье в моих запросах HttpUrlOpenConnection. Однако, так или иначе, он не привязывает cookes из webview к моим запросам. Я попытался

mWebView.setWebViewClient(new WebViewClient() { 
      @Override 
      public void onPageFinished(WebView view, String url) { 
       String cookies = android.webkit.CookieManager.getInstance() 
         .getCookie(url); 
       HttpCookie cookie = new HttpCookie(url, cookies); 
       URI uri = null; 
       try { 
        uri = new URI(url); 
       } catch (URISyntaxException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } 
       CookieManager c = new CookieManager(); 
       c.getCookieStore().add(uri, cookie); 
       Log.d("cookie check", "All the cookies in a string:" + cookies); 
       // CookieManager cookieManager = new CookieManager(); 
       CookieHandler.setDefault(с); 
      } 
} 

Но не succed. Как я могу атаковать файлы cookie с веб-браузера на мои запросы?

ответ

1
@Override 
     public void onPageFinished(WebView view, final String url) { 
      // super.onPageFinished(view, url); 

      final String cookie = CookieManager.getInstance().getCookie(url); 

      url = new URL("yourURL"); 
      HttpURLConnection connection = (HttpURLConnection) url.openConnection(); 
      connection.setRequestProperty("Cookie", cookie); 
      connection.setDoInput(true); 
      connection.connect(); 
} 
Смежные вопросы