1

次の URL を解析してみます: 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 に答える