清除启动浏览器缓存

时间:2019-01-20 21:18:00

标签: php python splash-js-render

我正在尝试可视化网站速度分析。作为无头浏览器,我使用Splash 3.2 ...不幸的是,我在获取正确的har文件时遇到问题。

第一个请求看起来不错,在第二个请求之后,我仅收到未缓存的请求。

不幸的是,我尝试通过对_gc终结点的发布请求清空缓存,但没有成功。

我的卷曲请求:

$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"}

然后,我尝试使用--disable-browser-caches启动Splash以获得正确的输出,但是Splash不缓存任何内容,因此,如果多次出现相同的文件,它们会发出许多请求。

是否存在另一种在呈现之前刷新浏览器缓存的方法,还是我应该使用其他无头浏览器(推荐)?

1 个答案:

答案 0 :(得分:1)

@Tobias

您提到您正在使用启动版本3.2

我是PR 821的作者,他介绍了-disable-browser-caches ,并且根据the changelog讲,此功能已添加到初始版本3.3中。 因此,请升级到启动版本3.3,您应该可以使用该功能。