Полезная информация

В мире Mozilla происходит много интересных событий. Но вам не нужно постоянно посещать новостные сайты, чтобы быть в курсе всех изменений. Зайдите на ленту новостей Mozilla Россия.

№106-09-2012 13:17:36

Magneto
Участник
 
Группа: Members
Зарегистрирован: 25-07-2010
Сообщений: 24
UA: Chrome 21.0

Получить IP сайта средствами Firefox

Ведь в браузере есть механизм при помощи которого он преобразовывает имена в IP, и кеширует их.
Как получить IP сайта средствами браузера Firefox в расширении?

Что-то типа:

Выделить код

Код:

var ip = convertToIP(domain);

Отсутствует

 

№206-09-2012 13:54:57

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 15.0

Re: Получить IP сайта средствами Firefox

Посмотреть, как получает IP Flagfox?


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№320-10-2012 13:56:31

Magneto
Участник
 
Группа: Members
Зарегистрирован: 25-07-2010
Сообщений: 24
UA: Chrome 22.0

Re: Получить IP сайта средствами Firefox

Вообщем как я и предполагал у Firefox есть модуль который преобразовывает домен сайта в IP (понятно что браузер обращается за этим к DNS серверу),
но главное что это происходит достаточно прозрачно и не требует использования сторонних сервисов.

Вот код, возможно что кому то пригодится:

Выделить код

Код:

function getIP (domain, callBack) {
    var dns = Components.classes['@mozilla.org/network/dns-service;1'].getService(Components.interfaces.nsIDNSService),
        thread = Components.classes["@mozilla.org/thread-manager;1"].getService().mainThread,

        dnslistener = {
            onLookupComplete: function (aRequest, aRecord, aStatus) {
                var arrayIP = [];

                if (aStatus === 0) {
                    while (aRecord && aRecord.hasMore()) {
                        arrayIP.push(aRecord.getNextAddrAsString());
                    }
                } else {
                    arrayIP = null;
                }

                callBack(domain, arrayIP);
            }
        };

    dns.asyncResolve(domain, 0, dnslistener, thread);
};

// Так как получение IP является ассинхроной операцией  то при вызове функции getIP
// ей, вместе с доменом нужно передать функцию обратного вызова, функция возвращает
// домен для которого получались IP адреса  и массив IP-шников

P.S. Firefox полученные результаты кеширует на одну сессию.

Отредактировано Magneto (20-10-2012 15:01:48)

Отсутствует

 

№420-10-2012 14:35:02

liteTua
Участник
 
Группа: Members
Зарегистрирован: 02-10-2012
Сообщений: 73
UA: Firefox 16.0

Re: Получить IP сайта средствами Firefox

Magneto
Эта функция делает дополнительный запрос к сайту или использует уже полученные при входе адреса?

Добавлено 20-10-2012 14:49:46
Где этот код будет работать? В кнопке, дополнении? Функцию callBack самому определять?

Отредактировано liteTua (20-10-2012 14:49:46)

Отсутствует

 

№520-10-2012 15:11:27

Magneto
Участник
 
Группа: Members
Зарегистрирован: 25-07-2010
Сообщений: 24
UA: Chrome 22.0

Re: Получить IP сайта средствами Firefox

liteTua пишет

Magneto
Эта функция делает дополнительный запрос к сайту или использует уже полученные при входе адреса?

Добавлено 20-10-2012 14:49:46
Где этот код будет работать? В кнопке, дополнении? Функцию callBack самому определять?

Эта функция не посылает никаких HTTP запросов ни на сайт ни куда либо. Используется TCP или UPD протоколы эти запросы шлются на DNS-сервера, http://ru.wikipedia.org/wiki/%D0%9A%D0% … %D1%8B_DNS

Если уже было обращение к какому либо сайту то его IP уже закешировано. (о кешировании я сделал вывод замеряв время получения IP для не посещеных сайтов (20 - 100 мс) и посещенных (1 мс)).

Эту функцию я использую в расширении для браузера Firefox.

Функция callBack конечно должна быть Ваша, в этой функции Вы можете обработать все полученные данные.

Отсутствует

 

№620-10-2012 17:58:03

liteTua
Участник
 
Группа: Members
Зарегистрирован: 02-10-2012
Сообщений: 73
UA: Firefox 16.0

Re: Получить IP сайта средствами Firefox

Magneto
А что за расширение?

Отсутствует

 

№722-10-2012 12:22:23

Magneto
Участник
 
Группа: Members
Зарегистрирован: 25-07-2010
Сообщений: 24
UA: Chrome 22.0

Re: Получить IP сайта средствами Firefox

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]