您好我正在开发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不会退出"。
谢谢。