AndroidのHttpClientに問題があります。次のコードを使用して、Webビューからログインして以前に設定されたCookieを使用したいと思います。したがって、ログインデータはそこにあるはずであり、実際にそこにあります。私はそれをテストしました。しかし、httppostまたはhttpgetでCookieを使用すると、ログインデータは使用されません。しかし、これらのCookieは、実際には、ログインが必要なページを受信するのに十分なはずですよね。特別な方法でCookieをサーバーなどに送信する必要があるのか、それともhttpcontextにロードするのに十分なのかはよくわかりません。コードは次のとおりです。
DefaultHttpClient httpclient = new DefaultHttpClient();
CookieStore lCS = new BasicCookieStore();
if (CookieManager.getInstance().getCookie(pUrl) != null) {
String cookieString = CookieManager.getInstance().getCookie(pUrl);
String[] urlCookieArray = cookieString.split(";");
for (int i = 0; i < urlCookieArray.length; i++) {
System.out.println(urlCookieArray[i]);
String[] singleCookie = urlCookieArray[i].split("=");
Cookie urlCookie = new BasicClientCookie(singleCookie[0], singleCookie[1]);
lCS.addCookie(urlCookie);
}
}
HttpContext localContext = new BasicHttpContext();
httpclient.setCookieStore(lCS);
localContext.setAttribute(ClientContext.COOKIE_STORE, lCS);
HttpPost httppost = new HttpPost(pUrl);
// get the url connection
try {
StringBuilder sb = new StringBuilder();
HttpResponse response = httpclient.execute(httppost, localContext);
InputStream is = response.getEntity().getContent();
InputStreamReader isr = new InputStreamReader(is);
また、コードを実行すると、そのサイトのログインページしか受け取れないため、Cookieを受け入れませんでした。
事前に助けてくれてありがとう
挨拶、ティモ