HtmlUnit в обход облачных DDOS и файлов cookie требуется - PullRequest
0 голосов
/ 24 сентября 2019

Я пытаюсь очистить страницу, которая использует Cloudflare, до недавнего времени это было возможно без проблем.Однако по состоянию на вчера я сталкиваюсь с 503 (страница защиты ddos).И сегодня оно перешло просто к 403-м годам.Изучив ответ, я вижу, что на странице запрашивается разрешение на использование файлов cookie.В настоящее время я использую HtmlUnit для выполнения очистки, и у меня для BrowserVersion установлено значение Chrome.

Вот моя текущая попытка:

    private HtmlPage scrapeJS(String targetUrl) throws ScrapeException {
        Log.verbose("Attempting JS scrape ...");
        WebClient client = new WebClient(BrowserVersion.CHROME);
        client.getOptions().setJavaScriptEnabled(true);
        client.getOptions().setCssEnabled(css);
        client.getOptions().setUseInsecureSSL(insecureSSL);
        client.setCookieManager(new CookieManager());
        client.getOptions().setRedirectEnabled(true);

        HtmlPage page;

        try {
            page = client.getPage(targetUrl);
            client.waitForBackgroundJavaScript(10000);
        } catch (FailingHttpStatusCodeException e){
            Log.verbose("JS scrape resulted in " + e.getStatusCode());
            throw new ScrapeException(source, e);
        } catch (IOException e){
            throw new ScrapeException(source, e);
        }

        return page;
    }

Я должен отметить, что это не проходит как проверку файлов cookie, так и503s на моем рабочем столе, но он проходит проверку файлов cookie не на моем ноутбуке (это Mac).

Я немного осмотрелся, но большинство постов, посвященных HtmlUnit, выглядят немного устаревшими и такие решения, какожидание фонового JS, не работает и не меняет пользовательский агент между firefox и chrome.

...