我正在开发一个使用网络服务调用的应用。
我按如下方式调用我的登录网络服务
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/