1

私は Web サービス呼び出しを使用してアプリに取り組んでいます。

次のようにログインWebサービスを呼び出しています

String url = "http://mydomaim.com/login.php";

        UserFunctions userFunction = new UserFunctions();
        JSONObject json = userFunction.loginUser(userEmail, password, url);

正常に動作し、以下に示すように応答を送信します

{
 "userName":"a",
   "login_success":1,
   "user_id":"3",
   "session_id":"1067749aae85b0e6c5c5e697b61cd89d",
   "email":"a"
}

私はこの応答を解析し、正常に変数にセッション ID を取得しました。ここで、この session_id を Cookie 値として追加する別の Web サービスを呼び出す必要があります。

質問

session_idをAndroid デバイスに Cookie の値として保存し、他の Web サービスを呼び出すにはどうすればよいですか?

4

2 に答える 2

2

これを試してください。ログイン時にこのリクエストを呼び出します。

DefaultHttpClient httpClient = new DefaultHttpClient();
        String paramString = URLEncodedUtils.format(params, "utf-8");
        url += "?" + paramString;
        HttpGet httpGet = new HttpGet(url);
        HttpResponse httpResponse = httpClient.execute(httpGet);

        List<Cookie> cookies = httpClient.getCookieStore().getCookies();
        for (Cookie cookie : cookies) {
            System.out.println("Cookie: " + cookie.toString());

            if (cookie.getName().contains("PHPSESSID"))
                guid = cookie.getValue();

        }

        HttpEntity httpEntity = httpResponse.getEntity();
        is = httpEntity.getContent();
于 2013-09-11T15:02:16.200 に答える