2013-12-09 24 views
5

問題はWebViewです。リダイレクトやカスタムCookieを扱うのが問題です。Android WebViewでリダイレクトのCookieが失われる

私は、次の手順を実行します

  1. コールsCookieManager.setCookie(url, value); sCookieSyncManager.sync();
  2. そして最後にmWebView.loadUrl
utilのクラスの静的セクションに
  • コールsCookieManager.setAcceptCookie(true);を作成したアプリケーションでCookieSyncManagerCookieManagerのインスタンスを作成します

    Whサーバー側で起こっているのは、まず設定した正しいCookieを取得し、リダイレクトを実行し、Cookieが失われているように見えるということです。あらゆるアイデア、私はここで間違って何をしていますか?

    私はsetCookie - syncを別のスレッドで実行してみましたが、遅延があり、loadUrlでしたが、役に立たなかったです。

    すべての同様の投稿には、機能しない解決策があるようです。

    ありがとうございました。

    UPDATE:

    setCookie("MyCookie=value; Domain=mydomain.com; Path=/; Secure; HttpOnly; MySecondCookie=value2....)" 
    

    だけ最初のものが適用され、サーバの実行は、それ自身のドメインにリダイレクトするとき、それがなくなって:。

    私は、例えばのような複数のクッキーを与えることsetCookieを使用していることに気づきました この問題は、ループ内でカスタムCookieを1つずつ固定することができます。

    は私が一時的にonReceivedSslErrorhandler.proceed();を追加していると私は、安全なクッキーと無効な証明書チェーンの間にいくつかの接続があるかもしれません、ウェブサイトをリダイレクトする直前にトリガだとクッキーが次のページonPageFinished上で失われたログから見ることができますか?

    sCookieManager.setCookie(url, value) 
    

    しかし

    sCookieManager.setCookie(cookieDomain, value) 
    

    cookieDomainあなたはクロムの使用例を見つけることができません使用して

  • +0

    私が直面しています://

    の作業例を検査同じ問題?これに何か解決策がありましたか? –

    答えて

    0

    試してみてください。

    String cookieDomain = ".www.drive2.ru"; 
    String siteUrl = "https://drive2.ru"; 
    
    webView = (WebView) getView().findViewById(R.id.web_view); 
    webView.setWebViewClient(new WebViewClient()); // force open any new url in same webview (whether it is user click or redirect) 
    
    CookieManager cookieManager = CookieManager.getInstance(); 
    cookieManager.setAcceptCookie(true); 
    cookieManager.setCookie(cookieDomain, "cookieName=cookieValue"); 
    webView.loadUrl(siteUrl); 
    
    関連する問題