https://www.logoin.com   请教各位大虾,如何用已获得的有效的cookie来登陆页面?   现有的swing项目中有2个网站: 测试网站https://www.test.com和用户验证网站https://www.login.com,如果是未登陆用户输入test.com则自动跳转到login.com,验证用户名密码后,返回一个cookie,然后自动跳转到test网站。整个过程cookie在浏览器内存中,关闭后再登陆即实效,不关闭则有一天的有效期。   这2个网站已经实现,现在我们的需求是: 需要在客户端打开一个窗口(自己实现拟浏览器窗口组件或者直接调用IE都行)实现login.com的自动登陆。   现在通过用Apache的HttpClient项目访问了login网站,用户名密码验证通过后取得了一个Cookie(比如uid_tt=018sker3kdkkke sasa...), 我简单的保存该cookie的名称和值,然后再一个程序中用HttpClient新建cookie,设置其path和domain(test.com),并把name和value按所取到的值进行设置,用该Client连接test网站,可以获得正常登陆后的页面,就是说可以使用cookie的形式自动登陆,该返回页面我在一个Swing窗口中显示给用户。
   因为是在Swing客户端实现,接下来的问题有点麻烦,虽然这个页面只包括一个输入栏和提交按钮,用户输入信息提交后server会返回若干结果,但是这个过程仍然需要保持住该cookie,就是说再往下走就变成写个简单的浏览器了,挺麻烦的。   我的问题是: 有没有什么办法能够将cookie"注射"到IE中,打开IE自动浏览test.com网站,其他的事情什么提交阿验证阿都扔给ie去完成?设置cookie其实就是设置GET或者POST的html header吧?   退而求其次是将用户名密码以参数形式通过httpclient或者URLConnection发送给login.com,不过不知道安全性如何,而且如果成功返回的html形式的字符串,也要在窗口中显示并支持下一步的点击操作,这个像在开发浏览器了。   大家有什么建议?自己实现一个简单的浏览器?还是直接调用IE?谢谢。

解决方案 »

  1.   

    不是病毒,就是一个自动登陆的功能实现,因为是C/S,不想一个页面一个页面的解析取回来的内容并模拟点击操作,所以想问下有没有简单的方式实现cookie的登陆。不是"利用cookie伪装登陆",而是这个cookie本身就是自己拿到的,cookie的加密解密细节都知道。关键是这2个网站是客户实现的,不能修改,只能在客户端想办法。总不能一打开客户端就自动打开一个网页连到login.com自动登陆,用户啥时候想用test.com的功能就啥时候把该页面进行跳转吧?现在是Swing界面上通过点击按钮来实现test.com的自动登陆,所以……
      

  2.   

    你可以生成一个临时页面,调用ie打开他,在页面中用form提交你的cookie内容到test.com,由test.com自己设置cookie
      

  3.   

    能给个简单的例子么?我html,jsp,js都不咋地。
      

  4.   

    能不能在我们自己的服务器端想办法?我们的Client端界面会以IP形式跟自己的服务器(Websphere)通信,可不可以在Server端提供Servlet,客户端直接调用IE访问该地址并提交cookie,Server端redirect客户端到test.com并把cookie塞给请求的IE……请问可行不?菜鸟问题可能说得不对