ANDROID : Anteil Sitzung zwischen Webview und httpclient

Habe ich tatsächlich eine protokollierte Sitzung in meinem WebView.
Aber ich benutze auch httpclient zum senden und abrufen von Daten aus dem web. Ich sah im internet, dass es unmöglich ist, sich den Inhalt einer WebView, so ich brauchte, um meine httpclient, um Daten von einem webservice.

Das problem ist, dass dieser webservice nutzt sessions... und meine session ist in meinem WebView, also die httpclient hat es nicht und ich kann nicht auf die Inhalte des webservice.

Sehe ich viele Beiträge über dieses problem, aber ich Verstand nicht die Lösung.

Hier ist, was ich Tat, auf meine onPageStarted :

CookieManager mgr = CookieManager.getInstance();
Log.i( "URL", url );
Log.i("Cookie",mgr.getCookie("mywebsite.com"));
String cookie_string = mgr.getCookie("mywebsite.com");
if(cookie_string.length() > 1) {                    
    Data.instance().getPref().edit().putString("cookie",cookie_string).commit();
}

Sah ich, dass ich diese Art von Dingen, so dass ich hoffe, dass diejenigen, sind session zu:
(ich Entferne die Zahl)

__utma=......(number)......; 

__utmc=number;

__utmz=number.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); 

wt3_eid=%number%number; 

wt3_sid=%number

Dann weiß ich nicht, was zu tun ist, um dieses cookie in meinem httpclient. Ich versuche, dass, ohne Erfolg :

HttpClient client = new DefaultHttpClient();
BasicCookieStore cookieStore = new BasicCookieStore();
String login_cookie_string = Data.instance().getPref().getString("cookie", "");
String[] cookie_parts = null;
if(login_cookie_string.length()> 0)
{

    //debug_view.setText(login_cookie_string);
    Log.d("COOKIE", login_cookie_string);
    cookie_parts = login_cookie_string.split(";");

    for(int t=0;t < cookie_parts.length;t++)
    {
        String[] cookieContent = cookie_parts[t].split("=");
        Cookie login_cookie = new BasicClientCookie(cookieContent[0],cookieContent[1]);
        ((BasicClientCookie) login_cookie).setDomain("mywebsite.com");
        cookieStore.addCookie(login_cookie);
    }

}
((AbstractHttpClient) client).setCookieStore(cookieStore);
  • Route den Datenverkehr durch einen proxy wie WebScarab oder Fiddler verwenden, um herauszufinden, die verbleibenden Unterschiede zwischen WebView und httpclient-Anfragen.
InformationsquelleAutor Dahevos | 2012-06-27
Schreibe einen Kommentar