我正在开发一个使用网络服务调用的应用程序。
我正在调用我的登录网络服务,如下所示
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(使用前将#替换为@)