我正在尝试完成一些特定的测试要求。
现在的一个要求是将一些不存在的URL重定向到特定的ip,这就是dns正在做的事情。我认为firefox正在使用内部dns缓存。但是我找不到可以用来改变这种dns缓存的正确服务。另一方面,我不知道firefox是否支持某种服务来自定义dns进程,我的意思是给出一个自定义的结果,而不是真正从DNS服务器获取。
由于我需要启动许多firefox进程同时进行工作,所以我不能简单地通过更改系统主机文件来做到这一点,因为它会影响其他进程。
有什么想法吗?
答案 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
),您可以更改窗口位置以向其他服务器发出请求。对于其他请求 - 不知道如何“重定向”那里。