java - 使用 Java servlet 构建 firefox 扩展(XPI 包)

标签 java firefox servlets xpi

我正在尝试使用 Java servlet 构建 xpi 文件。 如果我在 servlet 中使用以下代码将 xpi 作为 zip 返回 -

response.setContentType("application/zip");
response.setHeader("Content-Disposition","inline;filename=xpitest.xpi;"); 

上面的代码一切正常。我可以将文件保存到文件系统并安装它。

但是,如果我尝试返回具有以下 header 和内容类型的文件 -

response.setContentType("application/x-xpinstall");
response.setHeader("Content-Disposition","filename=xpitest.xpi;");

在客户端,firefox 识别该文件是 xpi 软件包并显示“安装”选项。但是,当我尝试安装它时,出现此错误 - “不是有效的安装包 - 207”

有人可以建议我需要使用 setContentType() 和 setHeader() 吗?

谢谢。

最佳答案

点击“添加到 Firefox”后,来自 addons.mozilla.org 的流量嗅探显示,您所需要的只是将 Content-Type 设置为 application/x-xpinstall 和正确的 Content-Length。你也可以尝试一下。以下是标题:

HTTP/1.1 200 OK
Date: Wed, 11 Nov 2009 04:51:03 GMT
Server: Apache
Last-Modified: Thu, 05 Nov 2009 15:10:39 GMT
Accept-Ranges: bytes
Content-Length: 4248
Keep-Alive: timeout=2, max=100
Connection: Keep-Alive
Content-Type: application/x-xpinstall

关于java - 使用 Java servlet 构建 firefox 扩展(XPI 包),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1713026/

相关文章:

html - 与 Chrome、Opera 和 Safari 相比,为什么在 IE 和 FF 上呈现的 div 宽度如此不同?

java - 如何在每个 Spring JSON 响应之前添加 ")]}' ,\n"以防止常见漏洞

Java web tomcat 编码过滤器不起作用

java - 为什么局部变量不显示在 Eclipse 的调试 View 中?

java Action 监听器: retrieve TextField in a separate thread

c# - 如何使用 c# 和 selenium 设置通过 savefileto 插件下载的路径

javascript - Jquery 与本地服务器通信

java - 获取一个区间内的数字

java - Java 编译器会优化对最终静态变量的方法调用吗?当它变成 dalvik 代码时会发生什么?

javascript - 使用 Firefox API 将剪贴板数据分配给局部变量