最近在做一个小工具,里面有个功能需要保持用户的登陆状态,但现象比较奇怪,特来求大神指点
具体情况如下:我在A网站用自己的账号登陆后,将cookie键值对信息保存下来,想通过一个c#写的windows服务定时用这个cookie信息访问A网站,以保持我账号一直是登陆状态;发现刚开始都是访问成功的,登陆状态也一直都在,但过了2,3个小时后,就会变成掉线状态,不知是何原因;网站A不在我控制范围内的,希望在windows服务模拟客户端通过定时访问网站首页之类的方式,实现这个cookie信息中的会话不过期,或失效;
求大神路过....
首先A网站不在你的控制范围内,这个有可能网站服务器就让你的cookie失效了,
可以尝试再次登录,更新cookie!
按道理讲,我定时访问网站,相当于模拟在浏览器中登陆后定时刷新一个页面,这种操作也会被掉线..?
@fenghuo:这个就要分析,这个cookie是否一致!
@潮流还是非主流: 是同一个cookie信息;
我在A网站用自己的账号登陆后,将cookie键值对信息保存下来的
客户端的不可控,可以换一种更好的方式。
没道理啊..?!
@fenghuo: 要是cookie被360清除了怎么办?
@晓菜鸟: 。。。。
不会啊 我在网站中登录后,就把cookie保存到文件中了,即便清除,也只是浏览器cookie被清
我后面的windows服务是用保存在文件中的cookie访问网站的啊!!!!!!!
@fenghuo: 嗦嘎,是我理解错误了,重新审视你的问题。
@晓菜鸟: 网站A的登录是怎么实现的?就是怎么保存登录信息的.
你想太多了.不是你的问题,是服务器重启了.
他这个cookie里保持的应该是会话ID,如果他服务器重启了.你的会话ID自然也就失效了.重新登录吧,没别的办法,
cookie里的确有回话ID信息,如果是服务器重启,应该所有当时登录的用户都会失效吧,问题是我在浏览器里用另一个帐号登录的,而后设置浏览器定时刷新,同样时间内 却没有掉线.
现在网站都是N台服务器,应该做了独立的session共享吧.不会说重启一台,里面所有的用户就掉线了吧
@fenghuo: 时间不会是固定的,你两个都开着,1个浏览器一个程序,一直跑.等一个掉了.看另一个会不会掉
你能做的就是给他一个会话ID
@吴瑞祥:
是这样哦,两个一起开,一起跑的 同样时间内..
你放入cookie里面的是sessionid? 还是密码?
cookie里 肯定只有sessionid啊.