我根据URL 读取局域网内其他机器运行网页时, 如果地址为" 。/login.jsp"时,可以读取到login.jsp得页面内容如果地址为"....../login.do"(即登录后的地址),这时 我想读取的是局域网机器已经登录成功后的页面,但根据"....../login.do"这个URL 读取的网页的内容仍然是“login.jsp”页面的代码, 有什么办法解决,大侠指点下。急,谢谢了。

解决方案 »

  1.   

    login.do里面可能做了是否登录过的验证,如果没有登录过,就转到login.jsp,所以你就渠道了那个jsp了在请求里面把登录信息加进去模拟登录成功后的请求。试试吧,不知道行不行。
      

  2.   

    很明显页面是有验证的,你可以看看login.jsp是提交了哪些参数,模拟正确的参数进去DO
      

  3.   

    谢谢上面两位,但是那台机器的登录是用JS做得,而且参数用了MD5加密,所以我无法模拟传参。
      

  4.   

    那查看它的login.jsp的源码,找到它js验证的那段,无论是页面转进也好,利用ajax也好,总之是要向服务端发请求的,找到它请求的那个url,然后知道用户名密码的话,按它的url提交方式,组装一个一摸一样的请求,然后MD5加密了发过去,估计返回给你的就是login.do的页面了
      

  5.   

    这网站应该可以注册的吧,你用HTTP工具,看GET POST记录,每一步请求都有,工具名忘记叫什么了。
      

  6.   

    xmlhttprequest啊。用组件吧。jquery足以。
      

  7.   

    你得知道login.do的forward才行。
    但是这个,从url里面似乎是看不见的。
    你可以这样,把work目录中的文件全部删除掉,然后登录。
    如果这个forward是一个jsp的话,肯定会在work目录下生成class文件。
    根据这个class文件的名字,你就能找到这个jsp文件了。
    但如果是静态的html文件,那就得你自己去猜了。
      

  8.   

    哦,你是想跳过登录,直接取得jsp文件的内容是么?
    如果通过http的方式,貌似不大好办到。如果这个网站做的比较周密的话。
      

  9.   

    自己用Socket 实现put 请求就可以了.
      

  10.   

    用httpwatch抓下包分析提交参数,然后自己去构造一个相同的请求.
    这其实就是用程序登录,"网络机器人",
    如果登录有验证码,那就更难了,不知道LZ为什么要这样做???