首页 新闻 搜索 专区 学院

现成的B/S网站,要做一个PC客户端,怎么解决第二次请求

0
悬赏园豆:80 [待解决问题]

现在有一个现成的B/S网站,java EE做的,然后我用C#写了个客户端,去请求服务器端,登陆成功,也可返回我想要的东西。
当我第二次请求登陆人他里面所拥有的功能时,肯定是要去验证登陆的,我怎么去设置呢?

比如登陆请求:

string loginUrl = string.Format("http://localhost:8080/{0}", XLoginAddress.Portal);
Encoding encoding = Encoding.GetEncoding("utf-8");
IDictionary<string, string> parameters = new Dictionary<string, string>();
parameters.Add("eid", id);
parameters.Add("pw", pwd);
HttpWebResponse response = HTTPUtil.DoHttpPost(loginUrl, parameters, null, null, encoding, null);

然后我登陆后想用这个人的功能,然后我必须重新请求地址,但是我重新请求后,服务器端会去验证,然后会被认为是没有登陆,返回到了登陆的页面。

我的第二次请求地址就是浏览器中地址,也就是服务器端功能模块的地址。

IT宇季的主页 IT宇季 | 初学一级 | 园豆:122
提问于:2013-06-03 10:19
< >
分享
所有回答(5)
0

下次请求时把登录后得到的cookie带上就OK了

I,Robot | 园豆:9563 (大侠五级) | 2013-06-03 10:40

cookie怎么写到里面去呢?

我试过了,好像不行啊。

支持(0) 反对(0) IT宇季 | 园豆:122 (初学一级) | 2013-06-03 10:41

@IT宇季: 看看你的这个HTTPUtil.DoHttpPost方法有没有接收cookie的参数。

支持(0) 反对(0) I,Robot | 园豆:9563 (大侠五级) | 2013-06-03 10:43
0

带上cookie 你的是用session 做验证的吗

cookie里面有个jsessionid的东东

丫的 | 园豆:1575 (小虾三级) | 2013-06-03 10:55
0

登陆以后记录下cookie,下载再访问,带着上次访问的cookie访问就可以了.

只会造轮子 | 园豆:2274 (老鸟四级) | 2013-06-03 11:03
0

你模拟登陆成功,service肯定会给你一个cookies ,拿到这个东西你要保存到客户端,你每次的request 都要带着它(cookies)去请求,这样默认就是验证过的用户!

Beyond-bit | 园豆:2820 (老鸟四级) | 2013-06-03 11:12

好像没用,因为服务器端好像又会生成新的。

服务器端还有新建自己的cookies

哎。有些悲催

支持(0) 反对(0) IT宇季 | 园豆:122 (初学一级) | 2013-06-03 11:14

@IT宇季: 这样?那你就该询问javaee提供service的开发人员的设计是如何来验证的!或许最好的能给提供接口来做!否则,你这样徒劳!

ps:出现上面的这种状况还有一种可能就是javaee禁止修改cookies,也就是httpOnly禁止修改了!

支持(0) 反对(0) Beyond-bit | 园豆:2820 (老鸟四级) | 2013-06-03 11:29

@Beyond-bit: 那怎么办啊。。。

是个开源框架,哎,要用里面的服务。

每次请求回来的sessionID都是不一样的。

支持(0) 反对(0) IT宇季 | 园豆:122 (初学一级) | 2013-06-03 11:52

@Beyond-bit: 他里面有自己的一套session机制, Servlet 2.4 API跟这个差不多。

看来只能去动手改掉它里面的验证机制了。

支持(0) 反对(0) IT宇季 | 园豆:122 (初学一级) | 2013-06-03 11:58

@IT宇季: 你啊!那你让javaee给你开个webservice 让你调用啊!这个是最快的!你要是手动改里面的验证机制我估计你首先要弄清楚才能改否则,出问题了!luck

支持(0) 反对(0) Beyond-bit | 园豆:2820 (老鸟四级) | 2013-06-03 12:16

@Beyond-bit: 调用webservice是不可能了,只能去找那一块的请求过滤了。

支持(0) 反对(0) IT宇季 | 园豆:122 (初学一级) | 2013-06-03 14:17
0

去查看CookieContainer的使用即可

Parry | 园豆:583 (小虾三级) | 2013-06-04 11:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册