Spec-Zone.ru › Qt 5.15

Класс QDnsLookup

Класс QDnsLookup представляет запрос DNS. Подробнее...

Заголовок: #include <QDnsLookup>
qmake: QT += network
С момента: Qt 5.0
Наследует: QObject

Этот класс был добавлен в Qt 5.0.

  • Список всех членов, включая унаследованные

Типы

Перечисление Ошибка { БезОшибок, ОшибкаРезолвера, ОшибкаОтменыОперации, ОшибкаНеверногоЗапроса, ОшибкаНеверногоОтвета, …, ОшибкаНеНайдено }
Перечисление Тип { A, AAAA, ANY, CNAME, MX, …, TXT }

Свойства

  • ошибка : const Ошибка
  • описаниеОшибки : const QString
  • имя : QString
  • серверИмен : QHostAddress
  • тип : Тип

Открытые функции

QDnsLookup(QDnsLookup::Тип тип, const QString &имя, const QHostAddress &серверИмен, QObject *родитель = nullptr)
QDnsLookup(QDnsLookup::Тип тип, const QString &имя, QObject *родитель = nullptr)
QDnsLookup(QObject *родитель = nullptr)
virtual ~QDnsLookup()
QList<QDnsDomainNameRecord> canonicalNameRecords() const
QDnsLookup::Ошибка ошибка() const
QString описаниеОшибки() const
QList<QDnsHostAddressRecord> hostAddressRecords() const
bool isFinished() const
QList<QDnsMailExchangeRecord> mailExchangeRecords() const
QString имя() const
QList<QDnsDomainNameRecord> nameServerRecords() const
QHostAddress серверИмен() const
QList<QDnsDomainNameRecord> pointerRecords() const
QList<QDnsServiceRecord> serviceRecords() const
void setName(const QString &имя)
void setNameserver(const QHostAddress &серверИмен)
void setType(QDnsLookup::Тип)
QList<QDnsTextRecord> textRecords() const
QDnsLookup::Тип тип() const

Открытые слоты

void прервать()
void запрос()

Сигналы

void завершено()
void имяИзменилось(const QString &имя)
void серверИменИзменился(const QHostAddress &серверИмен)
void типИзменился(QDnsLookup::Тип тип)

Подробное описание

QDnsLookup использует механизмы операционной системы для выполнения запросов DNS. Для выполнения запроса необходимо указать имя и тип, а затем вызвать слот запрос(). Сигнал завершено() будет выпущен по завершении.

Например, можно определить, к каким серверам должен подключаться клиент XMPP-чата для данного домена:

void MyObject::lookupServers()
{
    // Create a DNS lookup.
    dns = new QDnsLookup(this);
    connect(dns, SIGNAL(finished()),
            this, SLOT(handleServers()));

    // Find the XMPP servers for gmail.com
    dns->setType(QDnsLookup::SRV);
    dns->setName("_xmpp-client._tcp.gmail.com");
    dns->lookup();
}

По завершении запроса можно обработать результаты:

void MyObject::handleServers()
{
    // Check the lookup succeeded.
    if (dns->error() != QDnsLookup::NoError) {
        qWarning("DNS lookup failed");
        dns->deleteLater();
        return;
    }

    // Handle the results.
    const auto records = dns->serviceRecords();
    for (const QDnsServiceRecord &record : records) {
        ...
    }
    dns->deleteLater();
}

Примечание: Если вам просто нужно найти IP-адрес(ы), соответствующий имени хоста, или имя хоста, соответствующее IP-адресу, используйте QHostInfo вместо этого.

Документация по типам членов

Перечисление QDnsLookup::Ошибка

Указывает все возможные условия ошибок, обнаруженные во время обработки запроса DNS.

Константа Значение Описание
QDnsLookup::NoError 0 нет условий ошибки.
QDnsLookup::ResolverError 1 возникла ошибка при инициализации резолвера DNS системы.
QDnsLookup::OperationCancelledError 2 запрос был прерван с помощью метода прервать().
QDnsLookup::InvalidRequestError 3 запрошенный запрос DNS был неверным.
QDnsLookup::InvalidReplyError 4 ответ, возвращённый сервером, был неверным.
QDnsLookup::ServerFailureError 5 сервер столкнулся с внутренней ошибкой при обработке запроса (SERVFAIL).
QDnsLookup::ServerRefusedError 6 сервер отказался обрабатывать запрос по соображениям безопасности или политики (REFUSED).
QDnsLookup::NotFoundError 7 запрошенный домен не существует (NXDOMAIN).

Перечисление QDnsLookup::Тип

Указывает тип запроса DNS, который был выполнен.

Постоянная Значение Описание
QDnsLookup::A 1 Записи адресов IPv4.
QDnsLookup::AAAA 28 Записи адресов IPv6.
QDnsLookup::ANY 255 Любые записи.
QDnsLookup::CNAME 5 Записи канонических имён.
QDnsLookup::MX 15 Записи обмена почтой.
QDnsLookup::NS 2 Записи серверов имён.
QDnsLookup::PTR 12 Записи указателей.
QDnsLookup::SRV 33 Записи сервисов.
QDnsLookup::TXT 16 Текстовые записи.

Документация свойств

ошибка : const Ошибка

Это свойство содержит тип ошибки, которая произошла, если поиск DNS завершился неудачно, или NoError.

Функции доступа:

QDnsLookup::Ошибка ошибка() const

Сигнал уведомления:

void finished()

ошибкаСтрока : const QString

Это свойство содержит удобочитаемое описание ошибки, если поиск DNS завершился неудачно.

Функции доступа:

QString ошибкаСтрока() const

Сигнал уведомления:

void finished()

имя : QString

Это свойство содержит имя для поиска.

Примечание: Имя будет закодировано с использованием IDNA, что означает, что оно непригодно для запроса записей SRV, совместимых со спецификацией DNS-SD.

Функции доступа:

QString имя() const
void установитьИмя(const QString &имя)

Сигнал уведомления:

void имяИзменилось(const QString &имя)

серверИмен : QHostAddress

Это свойство содержит сервер имен для использования в поиске DNS.

Функции доступа:

QHostAddress серверИмен() const
void установитьСерверИмен(const QHostAddress &серверИмен)

Сигнал уведомления:

void серверИменИзменился(const QHostAddress &серверИмен)

тип : Тип

Это свойство содержит тип поиска DNS.

Функции доступа:

QDnsLookup::Тип тип() const
void установитьТип(QDnsLookup::Тип)

Сигнал уведомления:

void типИзменился(QDnsLookup::Тип тип)

Документация функций-членов

QDnsLookup::QDnsLookup(QDnsLookup::Тип тип, const QString &имя, const QHostAddress &серверИмен, QObject *родитель = nullptr)

Создаёт объект QDnsLookup для заданного типа, имени и сервераИмен и устанавливает родитель в качестве родительского объекта.

Эта функция была добавлена в Qt 5.4.

QDnsLookup::QDnsLookup(QDnsLookup::Тип тип, const QString &имя, QObject *родитель = nullptr)

Создаёт объект QDnsLookup для заданного типа и имени и устанавливает родитель в качестве родительского объекта.

QDnsLookup::QDnsLookup(QObject *родитель = nullptr)

Создаёт объект QDnsLookup и устанавливает родитель в качестве родительского объекта.

Свойство тип по умолчанию будет равно QDnsLookup::A.

[slot] void QDnsLookup::прервать()

Прерывает операцию поиска DNS.

Если поиск уже завершён, ничего не делает.

[signal] void QDnsLookup::завершено()

Этот сигнал испускается, когда обработка ответа завершена.

Примечание: Сигнал уведомления для свойства ошибка. Сигнал уведомления для свойства ошибкаСтрока.

[slot] void QDnsLookup::поиск()

Выполняет поиск DNS.

Сигнал завершено() испускается по завершении.

[signal] void QDnsLookup::имяИзменилось(const QString &имя)

Этот сигнал испускается, когда изменяется имя поиска имя. имя — новое имя поиска.

Примечание: Сигнал уведомления для свойства имя.

[signal] void QDnsLookup::типИзменился(QDnsLookup::Тип тип)

Этот сигнал испускается, когда изменяется тип поиска тип. тип — новый тип поиска.

Примечание: Сигнал уведомления для свойства тип.

[virtual] QDnsLookup::~QDnsLookup()

Уничтожает объект QDnsLookup.

Можно безопасно удалить объект QDnsLookup, даже если он не завершён. Вы просто никогда не получите его результаты.

QList<QDnsDomainNameRecord> QDnsLookup::каноническиеИмена() const

Возвращает список записей канонических имён, связанных с этим поиском.

QList<QDnsHostAddressRecord> QDnsLookup::записиХостАдресов() const

Возвращает список записей адресов хоста, связанных с этим поиском.

bool QDnsLookup::завершён() const

Возвращает значение, указывающее, завершен ли ответ или был прерван.

QList<QDnsMailExchangeRecord> QDnsLookup::записиОбменаПочтой() const

Возвращает список записей обмена почтой, связанных с этим поиском.

Записи отсортированы согласно RFC 5321, поэтому, если вы используете их для подключения к серверам, следует пробовать их в указанном порядке.

QList<QDnsDomainNameRecord> QDnsLookup::записиСерверовИмен() const

Возвращает список записей серверов имен, связанных с этим поиском.

QList<QDnsDomainNameRecord> QDnsLookup::записиУказателей() const

Возвращает список записей указателей, связанных с этим поиском.

QList<QDnsServiceRecord> QDnsLookup::записиСервисов() const

Возвращает список записей сервисов, связанных с этим запросом.

Записи отсортированы в соответствии с RFC 2782, поэтому, если вы используете их для подключения к серверам, вы должны пробовать их в порядке, в котором они перечислены.

QList<QDnsTextRecord> QDnsLookup::textRecords() const

Возвращает список текстовых записей, связанных с этим запросом.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qdnslookup.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API