Ich habe eine Anwendung, die eine URL in einer Webansicht öffnet, muss der Benutzer dann auf einer Website über die Webansicht anmelden und erhält ein Cookie einmal eingeloggt. Ich habe Probleme, Cookies nach Anmeldung.Android - Extrahieren von Cookies nach dem Anmelden in Webview
Das Problem ist, kann ich dies mit android.webkit.CookieManager erreichen, und alle Cookies in einer einzigen Zeichenfolge ausgeben.
Allerdings möchte ich es mit dem Cookie-Speicher (wie in java.net.CookieStore) erreichen, also muss ich java.net.CookieManager verwenden.
Ich verwende den folgenden Code innerhalb der onPageFinished() eines WebViewClient. Ich weiß, dass das Problem mit dem Öffnen einer neuen Verbindung ist, wo ich den Inhalt von der aktuellen Seite bekommen muss. Ich würde etwas Hilfe schätzen, dank
@Override
public void onPageFinished(WebView view, String url){
Log.d(TAG, "Finished loading: " + url);
CookieSyncManager syncManager = CookieSyncManager.createInstance(Main.this);
syncManager.sync();
CookieManager manager = new CookieManager();
manager.setCookiePolicy(CookiePolicy.ACCEPT_ALL);
CookieHandler.setDefault(manager);
try {
URL blah = new URL(url);
HttpURLConnection con = (HttpURLConnection) blah.openConnection();
readStream(con.getInputStream()); // outputting html
}
catch (Exception e) {
}
CookieStore cookieJar = manager.getCookieStore();
List<HttpCookie> cookies = cookieJar.getCookies();
for (HttpCookie cookie: cookies) {
Log.d(TAG, "cookie name : "+cookie.getName().toString());
}
}
Bereits aber der Vollständigkeit halber beantwortet und könnte jemand helfen, überprüfen Sie diese Antwort http://stackoverflow.com/a/15924948/1714030 –