2016-04-12 12 views
2

WebkitブラウザのCookieがhttpOnlyであるかどうかを知る必要があります。 getCookie(URL)メソッドを使用すると、クッキーの名前と値を持つStringだけが返されます。android.webkit.CookieManagerからhttpOnly Cookieを取得する方法

java.net.CookieManagerから簡単に取得できますが、android.webkit.CookieManagerをjava.net.CookieManagerに変換できるかどうかはわかりません。

更新1 私はそれをやろうとしました。私の推測は、私がやりたいことは不可能だということです。 私はshouldInterceptRequestメソッドをオーバーライドして、HttpUrlConnectionを使用して新しい接続を開き、HttpUrlConnectionから返されたImputStreamで新しいWebResourceResponseを返しましたが、shouldInterceptRequestからの呼び出し後にwebviewがjavascriptを受け入れないようです。私はそれをする方法はありませんことをかなり確信しているすべてのこの時間後:-(

答えて

0

。 私はマニュアルを読み、もう一度読んで、すべての人に、どこでも求めてきました...

0

この缶例えば、反射を介して行うこと:

CookieManager cookieManager = CookieManager.getInstance(); 

Field mChromeCookieManager = cookieManager.getClass().getDeclaredField("mChromeCookieManager"); 
mChromeCookieManager.setAccessible(true); 

Object awCookieManager = mChromeCookieManager.get(cookieManager); 

Method getCookie = awCookieManager.getClass().getDeclaredMethod("nativeGetCookie", String.class); 
getCookie.setAccessible(true); 

Object cookie = getCookie.invoke(awCookieManager, url); 

(アンドロイド5.1.1でテスト)

+0

私はこれを試しました、私のために働いていない、私が逃した何かがありますか?他の誰もこれを試して成功した? – Kim

0

のhttp-クッキーを単離するために、それはJSインターフェイスコールバックに、すべての非HTTPクッキーを返すべきページにdocument.cookieを注入次に、の結果を取得します呼び出し。セット内の余分なクッキーは、おそらくhttponlyです。シンプルな文字列の作業やハッシュはトリックを行う必要があります! Android 6と7で動作します。

関連する問題