javascript - 是否可以在 Firefox 中添加和修改 dns 缓存条目?

标签 javascript firefox-addon dns xpcom

我正在尝试完成一些特定的测试要求。

现在的要求之一是将一些不存在的 url 重定向到特定的 ip,这就是 dns 正在做的事情。我认为 Firefox 使用内部 dns 缓存。但我找不到可以用来更改此类 dns 缓存的合适服务。另一方面,我不知道 Firefox 是否支持某种服务来自定义 dns 过程,我的意思是提供自定义结果而不是真正从 DNS 服务器获取。

由于我需要启动许多 Firefox 进程来同时完成工作,所以我不能简单地通过更改系统主机文件来做到这一点,因为它会影响其他进程。

有什么想法吗?

最佳答案

不,在 Firefox 中无法修改 DNS 响应,DNS 服务仅允许触发 DNS 请求。您可以做的是识别NS_ERROR_UNKNOWN_HOST响应并以某种方式将其重定向到您的服务器。虽然识别并不是特别困难,但重定向却很复杂。你可以add a progress listener并在 onStateChange 方法中检查请求是否完成(if (aFlag & STATE_STOP))。参数aStatus为您提供请求的状态,您将查找状态Components.results.NS_ERROR_UNKNOWN_HOST。对于顶级请求(aFlag & STATE_WINDOW),您可以更改窗口位置以向不同的服务器发出请求。对于其他请求 - 不知道如何“重定向”那里。

关于javascript - 是否可以在 Firefox 中添加和修改 dns 缓存条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7789259/

相关文章:

javascript - Ajax 将 javascript 日期发布为 UTC 或服务器时间

javascript - 处理 Firefox 插件中的右键单击,仅适用于文档

android - 使用 getAllResponseHeaders 获取 HTTP 响应 header

dns - 二进制数据的 Erlang 错误

java - 从域模型中检索集合中的项目的最佳做法是什么?

ruby-on-rails - Heroku SSL 安全证书不工作 : CNAME from Namecheap domain

javascript - Angular : ng-model binding not updating when changed with jQuery

javascript - 如何隐藏面板主体为空?

javascript - 如何为我的 JavaScript 创建自己的 vsdoc.js 文件?

javascript - 使用 persist.progressListener 时出现问题