2016-07-09 42 views
0

我使用HtmlUnit創建Page快照,用於各種目的。我發現HtmlUnit不是並行發送請求,而是發生在瀏覽器中(一次發出6個並行請求)。有人可以幫助我嗎?HtmlUnit沒有並行運行所有HTTP請求?

我的代碼: -

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); 

回答

2

看起來你現在不能做到。

根據HtmlUnit docs

在將來下載應平行於分離 線程來執行。

看起來像未來還沒到。但是,如果它對你很重要,那麼你總是可以嘗試實施一個補丁,然後將它發送到上游。

+0

謝謝帕維爾。你能指導我一個替代解決方案嗎?我不能PhantomJS或prerender.io,因爲他們不支持Ajax。所以,我需要一個確定意義上的無頭瀏覽器。 – user3279692

+0

如果您使用任何口味的Unix,您可以嘗試在[XVFB](https://www.x.org/archive/X11R7.6/doc/man/man1/Xvfb.1.xhtml)中切換Firefox或Chrome, ,所以它會是無頭的。 Windows怎麼樣 - 我不知道。 –

+0

嗨帕維爾,再次感謝! – user3279692