Android中如何将session_id保存为cookie值并将其发送到服务器?

2023-12-03

我正在开发一个使用网络服务调用的应用程序。

我正在调用我的登录网络服务,如下所示

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。 现在我必须调用另一个 Web 服务并附加此 session_id 作为 cookie 值。

QUESTION

如何储存session_id作为我的 Android 设备中的 cookie 值并调用其他 Web 服务?


试试这个,登录时调用此请求。

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();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android中如何将session_id保存为cookie值并将其发送到服务器? 的相关文章

随机推荐