2016-04-12 40 views
2

Webkit tarayıcısında bir çerezin httpOnly olup olmadığını bilmem gerekir. GetCookie (URL) yöntemini kullanarak, yalnızca bir Dize çerez adı ve değerlerini döndürür.android.webkit.CookieManager adresinden httpOnly çerezleri nasıl edinilir

Kolayca java.net.CookieManager'dan alabilirim, ancak android.webkit.CookieManager'ı java.net.CookieManager'a dönüştürmenin mümkün olup olmadığını bilmiyorum.

Güncelleştirme 1 Bunu denemekten vazgeçtim. Tahminimce yapmak istediğim şey imkansız. HttpUrlConnection kullanarak yeni bir bağlantı açmak ve HttpUrlConnection tarafından döndürülen ImputStream ile yeni bir WebResourceResponse döndürmek için shouldInterceptRequest yöntemini geçersiz kılmayı denedim, ancak, web görüşmesinin bir çağrı geldikten sonra javascript'i kabul etmediği anlaşılıyor.

cevap

0

:-(Bu kadar zaman sonra bunu yapmak için hiçbir yolu yoktur eminim. okudum, tekrar belgeleri okuyun, her yerde sorulan herkese ettik ...

0

Bu can , yansıma yoluyla yapılabilir mesela:

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); 

(Android 5.1.1 üzerinde test)

+0

Bunu denedim, benim için çalışmıyor, özlediğim bir şey var mı? Bunu başka biri denedi ve başardı mı? – Kim

0

JS arayüzü geri aramayı olmayan tüm http çerezleri dönmelidir sayfasına document.cookie enjekte http-çerezleri izole etmek Daha sonrasonucunu alın.çağrı. Sette bulunan ekstra çerezler büyük olasılıkla httponly. Basit dize çalışması veya bir karma hile yapmalıdır! Benim için Android 6 ve 7'de çalışır.