我想用java实现获得ie当前打开页面的html源文件,就和在ie中点击右键-》源文件获得的源文件一样。请高手指教

解决方案 »

  1.   

    直接获取IE应该不好弄,因为要读别的进程,纯JAVA可能做不到,但只是获取代码的话,可以用httpunit或httpclient来模拟浏览器,发出请求,获取响应
    httpunit的例子 WebConversation wc = null;
    WebResponse wr = null;
    wc = new WebConversation();
    try 
    {
    wr = wc.getResponse("http://172.27.7.110/pub/agent.dll?qscr=htwv");
    System.out.println(wr.getText());
    } catch (MalformedURLException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    } catch (SAXException e) {
    e.printStackTrace();
    }然后,你就可以把getText得到的string输出到文件中之类了httpunit下载地址
      

  2.   

    因为不知道网页的真实地址,要得到源码的网页是需要用户登陆的,我可以手动登陆进去,但此时url不会变化,这样的话得到的只是没有登陆的界面我其实就是想获得网页上显示的文字内容,监视文字的变化。
      

  3.   

    httpclient可以模拟登陆的。如果网页上有文字变化,如果直接是js操作的别管他,如果是ajax访问服务器以后变的,可以监视一下ie的请求然后用httpclient模拟。监视的软件有两个:ie下,http watch,firefox下firebug
      

  4.   

    那你装个IE developer toolbar就OK了,可以很好地查看当前页面
      

  5.   

    可能是我没表达清楚,我要实现的是通过java程序来获得当前ie打开页面的源文件,而且该页面需要登陆,
    请问httpclient怎么使用啊,能给个例子么,我是java初学
      

  6.   

    httpunit就可以呀,而且很简单 WebConversation wc = new WebConversation();
    try {
    WebResponse wr = wc.getResponse("http://localhost:8080/test/login.jsp");
    WebForm wf = wr.getFormWithName("loginForm");
    wf.setParameter("loginName", "tavor");
    wf.setParameter("password", "hello,csdner");
    WebResponse wr2 = wf.submit();
    System.out.println(wr2.getText());
    } catch (MalformedURLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (SAXException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
      

  7.   

    先获取登陆页的response,然后从中得到登陆用的form,然后设置其中的用户名和密码,然后提交得到登陆结果,打印出来就OK了