我编写了一个使用Jsoup(1.11.2)从特定URL解析HTML的函数,请参见下面的代码。

我有一些操作系统问题:

在Windows 10上,它运行正常,但是在Linux上执行时,我无法获得全部内容。有人可以解释为什么我得到不同的结果吗?

public Document getJsoup(){
    Document doc = null;
    String url = "http://www.fakenamegenerator.com/advanced.php?t=country&n[]=IT&c[]=IT&gen=50&age-min=18&age-max=50";

    try {
        doc =  Jsoup.connect(url)
                .userAgent("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36")
                .get();
        System.out.println(url);
    } catch (IOException ex) {
        // error handling
    }
    return doc;
}


更新

OSX的结果与Windows相同,只有linux似乎有问题

最佳答案

我可以使用以下代码片段在Linux上检索整个页面(包括详细信息/配置文件部分):

try {
  Document document = Jsoup.connect(url);
  Element criteria = document.getElementById("criteria");
  Element details = document.getElementById("details"); //the profile you're talking about
} catch (IOException e) {
  e.printStackTrace();
}


一些观察:


我没有指定任何userAgent详细信息
jsoup版本是1.10.2
JDK版本是9.0.1


更新:

我能够在Windows和OS X(不同的JDK-8和9)上测试代码,它返回的结果与Linux中返回的结果完全相同。

07-28 01:39
查看更多