Можно ли добавить и изменить запись в кэше DNS в Firefox? - PullRequest
1 голос
/ 17 октября 2011

Я пытаюсь выполнить некоторые конкретные требования теста.

Одним из требований сейчас является перенаправление некоторого несуществующего URL-адреса на конкретный IP-адрес, что и делает DNS. Я думаю, что Firefox использует внутренний кэш DNS. Но я не могу найти правильный сервис, который я могу использовать для изменения такого рода DNS-кеша. С другой стороны, я понятия не имею, поддерживает ли firefox какой-либо сервис для настройки процесса dns, я имею в виду дать индивидуальный результат вместо реального получения с DNS-сервера.

Поскольку мне нужно запускать многие процессы Firefox для одновременного выполнения работы, поэтому я не могу сделать это просто путем изменения файла системного хоста, потому что это повлияет на другой процесс.

Есть идеи?

1 Ответ

0 голосов
/ 17 октября 2011

Нет, изменение ответов DNS в Firefox невозможно, служба DNS просто позволяет инициировать запрос DNS. То, что вы могли бы сделать, это распознать ответ NS_ERROR_UNKNOWN_HOST и каким-то образом перенаправить его на ваш сервер. Хотя распознавание не особенно сложно, перенаправление сложно. Вы можете добавить обработчик прогресса и проверить, завершен ли запрос в методе onStateChange (if (aFlag & STATE_STOP)). Параметр aStatus дает вам статус запроса, вы бы искали статус Components.results.NS_ERROR_UNKNOWN_HOST. А для запросов верхнего уровня (aFlag & STATE_WINDOW) вы можете изменить расположение окна, чтобы вместо этого сделать запрос на другой сервер. Для других запросов - не знаю, как можно «перенаправить» туда.

...