2016-07-09 6 views
0

Ich verwende HtmlUnit, um Seiten-Snapshots zu erstellen, die für verschiedene Zwecke verwendet werden können. Was ich herausgefunden habe war, dass HtmlUnit keine Anfragen parallel versendet, wie es im Browser passiert (6 parallele Anfragen gleichzeitig). Kann mir jemand dabei helfen?HtmlUnit nicht alle HTTP-Anfragen parallel laufen ??

Mein Code: -

wc = new WebClient(BrowserVersion.CHROME); 

    //wc.setAjaxController(new NicelyResynchronizingAjaxController()); 
    //wc.getOptions().setCssEnabled(true); 
    //wc.setCssErrorHandler(new SilentCssErrorHandler()); 

    wc.getOptions().setThrowExceptionOnFailingStatusCode(false); 
    wc.getOptions().setThrowExceptionOnScriptError(false); 
    wc.getOptions().setRedirectEnabled(false); 
    //wc.getOptions().setAppletEnabled(true); 
    wc.getOptions().setJavaScriptEnabled(true); 
    wc.getOptions().setPrintContentOnFailingStatusCode(false); 

Antwort

2

Sieht aus wie Sie es jetzt nicht erreichen können.

Nach HtmlUnit docs

In den zukünftigen Downloads sollten in getrennten Threads parallel ausgeführt werden.

Sieht so aus, dass die Zukunft noch nicht angekommen ist. Aber Sie können immer versuchen, einen Patch zu implementieren, wenn es für Sie so wichtig ist, und dann an den Upstream senden.

+0

Danke Pavel. Könnten Sie mich zu einer Ersatzlösung führen? Ich kann nicht PhantomJS oder prerender.io, weil sie Ajax nicht unterstützen. Also brauche ich einen kopflosen Browser in einem bestimmten Sinne. – user3279692

+0

Wenn Sie eine Unix-Variante verwenden, können Sie versuchen, in [XVFB] zwischen Firefox oder Chrome zu wechseln (https://www.x.org/archive/X11R7.6/doc/man/man1/Xvfb.1.xhtml). also wäre es kopflos. Was ist mit Windows - ich habe keine Ahnung. –

+0

Hallo Pavel, Danke nochmal! – user3279692