你知道url-rewrite嗎?它會幫助你實現你的需求。 url-write可能如下所示: 「http:// localhost:8080/test/error.jsp; jsessionid = C4E6732EBB4C17F409AB41143735C096」。
的「JSESSIONID」是的sessionid關鍵,C4E6732EBB4C17F409AB41143735C096是值。表示sessionid屬性的關鍵字取決於Web項目中使用的語言。
所以,如果你想保持會話,你可以啓動這樣的默認:
Uri uri = Uri.parse("http://localhost:8080/test/error.jsp;jsessionid=C4E6732EBB4C17F409AB41143735C096");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
的會話ID可以從HttpClient的獲得,只是其添加到您的網址後面。
也有一些需要注意的一些問題。首先,在url中,分隔符是「;」不是「?」,因爲sessionid位於http標頭中,而不是http正文。其次,如果瀏覽器已經與服務器進行了會話,那麼url-rewrite將不起作用,因爲瀏覽器將使用它自己的會話來解決這個問題,您可以使用您的應用來獲取瀏覽器的會話並使用此會話在HttpClient中。
來源
2012-07-10 01:57:47
Sam
有無論如何獲取系統或瀏覽器CookieStore並手動添加我的cookie到那? – rblk 2010-08-26 12:18:56
@ XenoPhoenix:不會。這將是一個重大隱私侵犯。無論如何,更不用說用戶可能不會使用瀏覽器的事實。 – CommonsWare 2010-08-26 12:29:39
老實說,我很懷疑這是爲什麼我希望有一種方式來做到這一點。雖然正如我懷疑和你回答這是不幸的是目前不支持。 – rblk 2010-08-26 12:50:41