代码之家  ›  专栏  ›  技术社区  ›  Steve Vermeulen

是否可以使用NPAPI接口下载文件而不使用本地缓存?

  •  1
  • Steve Vermeulen  · 技术社区  · 15 年前

    我正在使用NPAPI编写一个浏览器插件,作为插件的一部分,我需要下载一个文件。为此我一直在使用 NPN_GetURL 功能超出 NPNetscapeFuncs 加载插件后为其提供的结构。

    这很好,除非文件已经下载,火狐似乎总是把文件从本地缓存中拉出来,而不是从提供的URL中拉出来。不管我在什么请求模式下 NPP_NewStream 我定义的函数。

    是否可以绕过缓存,或者是否可以使用其他方法下载文件?理想情况下,它只能在服务器上存在较新版本的情况下下载(否则会将其从缓存中取出),但现在我已经习惯了总是下载。

    1 回复  |  直到 15 年前
        1
  •  4
  •   Volker Voecking    15 年前

    npn_geturl()与浏览器的作用方式相同,当is获取用于显示它的URL时。 因此,如果文件比缓存中的可用文件更新,我希望它从服务器获取该文件。

    您是否检查过(例如使用 Fiddler 工具(当您在Windows上时)如果浏览器在文件已经在本地缓存中并且可能在响应中获得304状态代码(未修改)时实际联系服务器?

    如果您想要更多地控制GET请求,比如设置或更改HTTP头,那么您必须使用一个平台相关库(Windows上的wininet/winhttp或Linux/OSX上的libcurl)。

    推荐文章