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

标签 android json web-services cookies session-cookies

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

我按如下方式调用我的登录网络服务

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"
}

我解析了这个响应,并成功地在一个变量中获得了 session ID。 现在我必须调用另一个网络服务附加这个 session_id 作为 cookie 值。

问题

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

最佳答案

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

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();

关于android - 如何将session_id保存为cookie值并将其发送到Android中的服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16945044/

相关文章:

android - 在选择项目之前设置微调器的文本

android - 首次启动 RemoteConfig 时出现问题

javascript - 从 json 数组中删除特定元素

javascript - 如何遍历 JSON 对象定位特定属性并将其内容推送到数组?

java - REST如何返回接口(interface)列表

web-services - 模拟Biztalk请求-响应端口占用的WebService

web-services - c3p0 回滚事务而不是提交

android - 在每天的特定时间调用方法

android - Google Play 没有显示我的应用

python - 如何为 graphql 查询配置 JSON?