Android - extracting cookies after login in webview
You can extract all cookies current url by this way from webview as string:
@Overridepublic void onPageFinished(WebView view, String url){ String cookies = CookieManager.getInstance().getCookie(url); Log.d(TAG, "All the cookies in a string:" + cookies);}
It was a quite late , but it might help someone
you can get the cookie value using this
getCookie("http://www.example.com","cookieName");
Declare the function as
public String getCookie(String siteName,String cookieName){ String CookieValue = null; CookieManager cookieManager = CookieManager.getInstance(); String cookies = cookieManager.getCookie(siteName); String[] temp=cookies.split(";"); for (String ar1 : temp ){ if(ar1.contains(cookieName)){ String[] temp1=ar1.split("="); CookieValue = temp1[1]; break; } } return CookieValue; }
This answer is derived from @vimal1083. It returns the values in a Map
, and of course written in Kotlin
.
fun getCookieMap(siteName: String): Map<String,String> { val manager = CookieManager.getInstance() val map = mutableMapOf<String,String>() manager.getCookie(siteName)?.let {cookies -> val typedArray = cookies.split(";".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray() for (element in typedArray) { val split = element.split("=".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray() if(split.size >= 2) { map[split[0]] = split[1] } else if(split.size == 1) { map[split[0]] = "" } } } return map}