Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么jsoup java通过连接返回空html页面?_Java_Html_Web Crawler_Jsoup - Fatal编程技术网

为什么jsoup java通过连接返回空html页面?

为什么jsoup java通过连接返回空html页面?,java,html,web-crawler,jsoup,Java,Html,Web Crawler,Jsoup,我的代码: Document document = Jsoup.connect(pageUrl) .userAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36") .get(); System.out.printl

我的代码:

        Document document = Jsoup.connect(pageUrl)
            .userAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36")
            .get();

        System.out.println("parse document: \n"+document.toString());
要获取html页面, 但答案是:

<html>
 <head>
  <script>
    (function(window){
        function createCookie(name,value,days, domain) {
            if(name == 'http_referrer'){
                var exp = new Date();
                exp.setTime(exp.getTime() + 10000);
                document.cookie = name+"="+value+";expires="+exp.toGMTString();
                return;
            }
            if (days) {
                var date = new Date();
                date.setTime(date.getTime()+(days*24*60*60*1000));
                var expires = "; expires="+date.toGMTString()+"; path=/; domain="+domain;
            }
            else var expires = "";
            document.cookie = name+"="+value+expires;
        }
        createCookie("http_referrer", document.referrer, 1, '.mmbang.com');
        createCookie("__9XRwuHhHTjQiC8wXCnCj7wsEBU9x", 'wy', 9000000, '.mmbang.com');
        location.reload();
    })(window);
    </script>
 </head>
 <body></body>
</html>

什么意思?我该怎么做才能解决这个问题呢?

这个页面需要在请求中使用referer标题

尝试使用:

    Document doc = Jsoup.connect(url) //
            .userAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36") //
            .referrer("www.mmbang.com")
            .get();

你为什么用toString代替body?非常感谢!它起作用了!我想知道你是从哪里找到这条线索的?不幸的是,我唯一的答案就是经验。”您提供的输出中提到了“http_referer”。通常,当我在使用jsoup时没有得到想要的响应时,我会先在浏览器中禁用javascript,然后比较浏览器请求中的标题。