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

时间:2011-10-17 04:03:13

标签: javascript firefox-addon dns xpcom

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

现在的一个要求是将一些不存在的URL重定向到特定的ip,这就是dns正在做的事情。我认为firefox正在使用内部dns缓存。但是我找不到可以用来改变这种dns缓存的正确服务。另一方面,我不知道firefox是否支持某种服务来自定义dns进程,我的意思是给出一个自定义的结果,而不是真正从DNS服务器获取。

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

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

不,在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),您可以更改窗口位置以向其他服务器发出请求。对于其他请求 - 不知道如何“重定向”那里。