与cookie安装会话

时间:2013-03-20 04:29:02

标签: android session-cookies setcookie

您好我正在开发Android应用程序,其中我想为会话处理设置cookie。 我正在使用datadroid库进行网络调用,后台使用HttpURLConnection。登录过程后,我尝试设置cookie,之后我尝试通过cookie的每次通话。但它没有给我有效的会话。我是通过以下方式做到的。 登录过程后:

header = result.headerMap //this gves me header part after log in responce.

所以此标头变量看起来像

{Cache-Control=[no-store, no-cache, must-revalidate, post-check=0, pre-check=0], 
***Connection=[close]***, Content-Encoding=[gzip], Content-Length=[173], Content-Location=
[login.php], Content-Type=[application/json], Date=[Wed, 20 Mar 2013 04:05:38 GMT], 
Expires=[Thu, 19 Nov 1981 08:52:00 GMT], Pragma=[no-cache], Server=[Apache/2.2.22 
(Fedora)],
 ***Set-Cookie***=[QCSESSID=mckdk1povn625jk1bhs11m0t97; path=/, 
QCSESSID=d44cnlf6gv2ii8lt76tr7vbqm4; path=/], TCN=[choice], Vary=[negotiate,Accept-
Encoding,User-Agent]}

因此,我使用Set-Cookies part

进行下一次网络通话
    connect_status= header.get("Connection");
    login_cookie= header.get("Set-Cookie");
    cookie1=login_cookie.get(0);
    cookie2=login_cookie.get(1);

// This is datadroid syntax. So here I m setting cookies for my next call
 login_header.put("User-Agent"," Apache-HttpClient/4.2.3 (java 1.5)");
   login_header.put("Connection" ,"Keep-Alive");
   login_header.put("Cookie", cookie2);

   networkConnection.setHeaderList(login_header);

但它仍然给我错误,没有有效的会话退出。我的标题响应显示连接的参数已关闭所以我尝试使用连接"保持活动以及#34;但那也行不通。难道我做错了什么?需要帮忙。如何解决这个问题。

如果我尝试使用我的一个GET API调用它的工作正常。但是当我将它与我的PUT API调用一起使用时,它会给我带来会话问题" Session不会退出"。

谢谢。

0 个答案:

没有答案