请问如何可以获取正在显示的页面的html源代码?getText()在大部分时候都可以工作,但是对一下网址就不行了http://www.sninfo.gov.cn:8083/initSnTwoPageArticleTypeList.do?method=initSnTwoPageArticleTypeList&articleTypeId=20550

解决方案 »

  1.   

    直接用URLConnection读一下好了
    try {
    URLConnection conn = new URL("http://www.sninfo.gov.cn:8083/initSnTwoPageArticleTypeList.do?method=initSnTwoPageArticleTypeList&articleTypeId=20550").openConnection();
    InputStream is = conn.getInputStream();
    ByteArrayOutputStream os = new ByteArrayOutputStream();
    int b = -1;
    while ((b = is.read()) != -1) {
    os.write(b);
    }
    os.flush();
    String html = new String(os.toByteArray());
    System.out.println(html);
    } catch (MalformedURLException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    }
      

  2.   

    有没有人研究过browser的源代码?它是用什么办法获取网页文件的?
      

  3.   

    这个都是封装好的吧,因为还包括读取html包含的css和js等等。
    eclipse的话可以看下org.eclipse.swt.internal.mozilla,但好像都是一些事件的监听接口或DOM树的解析,就像js能做的一样。
    真正的html解析和渲染都没有提供api或者hook。
      

  4.   

    《搜索引擎零距离—基于Ruby+Java搜索引擎原理与实现》这本书里,
    我用的是基于lobobrowser的纯java浏览器,能够很好的解决HTML解析的问题,推荐使用。
    《搜索引擎零距离—基于Ruby+Java搜索引擎原理与实现》 清华出版社。
    http://www.huachu.com.cn/itbook/itbookinfo.asp?lbbh=10105450