2016-07-09 7 views
0

Я использую HtmlUnit для создания снимков страниц, которые будут использоваться для различных целей. Я узнал, что 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, вы можете попытаться переключить Firefox или Chrome в [XVFB] (https://www.x.org/archive/X11R7.6/doc/man/man1/Xvfb.1.xhtml) , поэтому он будет безголовый. Как насчет Windows - я понятия не имею. –

+0

Привет, Павел, Еще раз спасибо! – user3279692