最简单的httpunit问题能够访问到本地的网页,但是网站上的就是不能访问。import java.io.IOException;import org.xml.sax.SAXException;import com.meterware.httpunit.*;  public class webread {
public static void display(){
WebConversation wc = new WebConversation();

try {

WebRequest request = new GetMethodWebRequest(
        //"http://localhost/duty/index.jsp");  //--------这个能获得
//"http://www.163.com/");    //---这个就不能
"http://jlpt.biz/jlpt/jlptQuestions.do?type=grammer&level=1&pageNo=1" );  //这也不能

WebResponse response = wc.getResponse(request);
WebTable webtable = response.getTables()[0];

String[][] datas = webtable.asText();

  int i = 0 ,j = 0;
int m = datas[0].length;
int n = datas.length;
while (i<n){
   j=0;
   while(j<m){
     System.out.println("表中第"+(i+1)+"行第"+
  (j+1)+"列の内容は:"+datas[i][j]);
     ++j;
   }
   ++i;
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} public static void main(String[] args){

display();
}
}

解决方案 »

  1.   

    这个是运行得到的结果。
    到底是什么地方出的错,请各位指点!!!Caused by: java.net.UnknownHostException: jlpt.biz
    at java.net.PlainSocketImpl.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at sun.net.NetworkClient.doConnect(Unknown Source)
    at sun.net.www.http.HttpClient.openServer(Unknown Source)
    at sun.net.www.http.HttpClient.openServer(Unknown Source)
    at sun.net.www.http.HttpClient.<init>(Unknown Source)
    at sun.net.www.http.HttpClient.New(Unknown Source)
    at sun.net.www.http.HttpClient.New(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection.getHeaderFieldKey(Unknown Source)
    at com.meterware.httpunit.HttpWebResponse.loadHeaders(HttpWebResponse.java:255)
    at com.meterware.httpunit.HttpWebResponse.readHeaders(HttpWebResponse.java:237)
    ... 10 more
      

  2.   

    下面的追加后
    wc.setProxyServer( "192.168.10.200", 38080 );
    出现下面的结果
    RHINO USAGE WARNING: Missed Context.javaToJS() conversion:
    Rhino runtime detected object [Ljava.lang.Object;@2f2295 of class [Ljava.lang.Object; where it expected String, Number, Boolean or Scriptable instance. Please check your code for missing Context.javaToJS() call.
    表中第1行第1列の内容は:
    表中第1行第2列の内容は:
    表中第1行第3列の内容は:
    表中第1行第4列の内容は:
    表中第1行第5列の内容は:
    表中第1行第6列の内容は:
    表中第1行第7列の内容は:
    表中第1行第8列の内容は:
    表中第1行第9列の内容は:
    表中第1行第10列の内容は:
    表中第1行第11列の内容は:
    表中第1行第12列の内容は:
    表中第1行第13列の内容は:
    表中第1行第14列の内容は:
    表中第2行第1列の内容は:
    表中第2行第2列の内容は:
    表中第2行第3列の内容は:
    表中第2行第4列の内容は:
    表中第2行第5列の内容は:
    表中第2行第6列の内容は:
    表中第2行第7列の内容は:
    表中第2行第8列の内容は:
    表中第2行第9列の内容は:
    表中第2行第10列の内容は:
    表中第2行第11列の内容は:
    表中第2行第12列の内容は:
    表中第2行第13列の内容は:
    表中第2行第14列の内容は:
    有谁帮忙看看阿
      

  3.   

    你的地址有问题,我贴一份测试代码给你:
    import java.io.IOException;
    import java.net.MalformedURLException;import com.gargoylesoftware.htmlunit.BrowserVersion;
    import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException;
    import com.gargoylesoftware.htmlunit.WebClient;
    import com.gargoylesoftware.htmlunit.html.HtmlPage;import junit.framework.TestCase;public class TestHtmlUnit extends TestCase{

    /**
     * 测试主页标题
     * @throws FailingHttpStatusCodeException
     * @throws MalformedURLException
     * @throws IOException
     */
    public void testHomePage() throws FailingHttpStatusCodeException, MalformedURLException, IOException{ final WebClient webClient = new WebClient();
    final HtmlPage startPage = webClient.getPage("http://htmlunit.sourceforge.net");
    // assertEquals("HtmlUnit - Welcome to HtmlUnit", startPage.getTitleText());
    System.out.println("title:"+startPage.getTitleText());

    }

    /**
     * 测试浏览器
     * @throws Exception
     */
    public void testHomePage_Firefox() throws Exception {
        //火狐2/3
    // final WebClient webClient = new WebClient(BrowserVersion.FIREFOX_2);
        
    //IE6/7
    final WebClient webClient = new WebClient(BrowserVersion.INTERNET_EXPLORER_7); 

    final HtmlPage page = webClient.getPage("http://htmlunit.sourceforge.net");

    //     assertEquals("HtmlUnit - Welcome to HtmlUnit", page.getTitleText());
        System.out.println("title:"+page.getTitleText());
    }/**
     * 两个测试类的输出都如下:
     * title:HtmlUnit - Welcome to HtmlUnit
     */
    }我用到了JUnit3的包