之間共享會話我居然在我的WebView一個登錄會話。 但我也使用httpclient發送並從網上獲取數據。我在互聯網上看到,無法獲取WebView的內容,所以我需要使用我的httpclient從web服務獲取數據。ANDROID:網頁視圖和HttpClient的
的問題是,這個Web服務使用會話......而我會在我的WebView,所以HttpClient的沒有它,我無法訪問web服務的內容。
我看到這個問題很多帖子,但我不明白的解決方案。
這裏是我做了我的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();
}
我看到了,我有這樣的事情,所以我希望那些包括會議太: (我刪除的數量)
__utma=......(number)......;
__utmc=number;
__utmz=number.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none);
wt3_eid=%number%number;
wt3_sid=%number
然後我不知道該怎麼做才能在我的httpclient中設置這個cookie。我嘗試,但沒有成功:
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);
路線通過像WebScarab或提琴手的代理找出的WebView和HttpClient的請求之間尚存分歧的流量。 – Robert