1

我尝试解析以下网址:http ://www.cisg.law.pace.edu/cisg/biblio/full-biblio.html

URL url = new URL("http://www.cisg.law.pace.edu/cisg/biblio/full-biblio.html");
int timeout = 20 * 1000;
System.out.println("Start parsing...");
Jsoup.parse(url, timeout);
System.out.println("Done");

我运行它并且从未收到“完成”消息。奇怪的是,这个 HTML 只有 3MB,所以我看不出它需要这么长时间的原因。

4

1 回答 1

1

似乎是一个错误。我已经使用 jsoup 1.6.3 版本尝试了您所说的内容,但执行被卡在Document doc = DataUtil.parseByteData(byteData, charset, url.toExternalForm(), req.parser());org.jsoup.helper.HttpConnection.

您可以使用以下代码验证是否正在建立连接:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;

import org.jsoup.Jsoup;

public class JSoupTest 
{
    public static void main(String[] args) throws Exception 
    {
        URL url = new URL("http://www.cisg.law.pace.edu/cisg/biblio/full-biblio.html");
        //int timeout = 20 * 1000;
        System.out.println("Start parsing...");
        //Jsoup.parse(url, timeout);

        URLConnection con = url.openConnection();
        BufferedReader reader = new BufferedReader(new InputStreamReader(con.getInputStream()));

        String line = null;
        while(true)
        {
            line = reader.readLine();
            if(line == null)
                break;
            System.out.println(line);
        }

        System.out.println("Done");
    }
}
于 2012-08-31T14:25:37.473 回答