Очистить кэш браузера Splash - PullRequest
0 голосов
/ 21 января 2019

Я пытаюсь визуализировать анализ скорости сайта.В качестве безголового браузера я использую Splash 3.2 ... к сожалению, у меня проблемы с получением правильного файла har.

Первый запрос выглядит хорошо, после второго запроса я получаю только запросы, которые не были кэшированы.

Я пытался очистить кэш с помощью запроса на отправку к конечной точке _gc, к сожалению, безуспешно.

Мои запросы curl:

$url = 'http://localhost:8050/render.har?url=' . esc_url( $url ) .'&response_body=1&wait=5&timeout=10';
    $cache_url = 'http://localhost:8050/_gc';
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $cache_url);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS,"cached_args_removed=1");
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    $server_output = curl_exec($curl);

    curl_reset($curl);

    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($curl, CURLOPT_HEADER, false);
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_REFERER, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
    $data = curl_exec($curl);
    curl_close($curl);

результат запроса _gc:

{"cached_args_removed": 0, "pyobjects_collected": 1269, "status": "ok"}

Впоследствии я попытался запустить Splash с --disable-browser-caches для получения правильного вывода, но Splash ничего не кеширует и поэтому делает много запросов к одним и тем же файлам, если они происходят несколько раз.

Есть ли другой способ очистки кэша браузера перед рендерингом, или я предпочитаю использовать другой браузер без монитора (рекомендация)?

1 Ответ

0 голосов
/ 03 марта 2019

@ Tobias

Вы упомянули, что используете всплывающую версию 3.2

Я являюсь автором PR 821 , который представил - отключение кэшей браузера , и согласно журналу изменений , эта функция появилась в виде заставки версия 3.3. Поэтому, пожалуйста, обновитесь до версии 3.3, и вы сможете использовать эту функцию.

...