首页 > 解决方案 > 以私有模式打开网络浏览器以避免缓存

问题描述

我创建了一个连续运行的烧瓶应用程序,因此,它可能会使浏览器缓存过载。由于烧瓶应用程序只是填写表格并且它保持 24/7,因此响应可能会不断堆积并存储在缓存中。我想如果我在私有模式下运行它,那么根本就不会有缓存问题。我正在使用 webbrowser 打开烧瓶应用程序。

webbrowser.open("http://127.0.0.1:5000/")
app.run(host='0.0.0.0', port=5000)

我也尝试了以下方法,但它说“chrome”不被识别为内部或外部命令、可运行程序或批处理文件。'google-chrome' 或 'chrome-stable' 相同:

import os
os.system("chrome -incognito http://example.com")

我知道您可以执行以下操作以私人模式打开:

import webbrowser
url = 'www.google.com'
chrome_path = 'C:/Program Files (x86)/Google/Chrome/Application/chrome.exe %s --incognito'
webbrowser.get(chrome_path).open_new(url)

但是,我已经使用 pyinstaller 将整个烧瓶应用程序捆绑到一个 exe 中,它可以在任何 Windows 计算机上使用。但是我不知道那台计算机上的 chrome_path,所以我如何在不知道路径的情况下以私有模式打开 webbrowser?

谢谢

标签: pythonpyinstallerpython-webbrowser

解决方案


私人浏览不是您的根本问题。您解释了您真正关心的是浏览器缓存。

使用Cache-Control: max-age=600标头将生命周期限制为十分钟。或者使用 HTML META 标签来完成同样的事情。

编辑

当您说您担心“可能使浏览器缓存超载”时,听起来材料的数量正在减慢浏览器的速度。您几乎没有透露您的浏览模式,包括它是 GET 还是 POST。

如果您不希望浏览器记住填写的表单数据,请使用autocomplete属性:

<form method="post" action="/myform" autocomplete="off">

为避免XY 综合症,您可能需要提出一个新问题来指定一组新参数。


推荐阅读