我有多个DNS记录(MX,CNAME,TXT),我想阅读TXT记录内容。
lookup()函数永远不会发出finished(),我正在使用这段代码来测试:
QDnsLookup m_dns = new QDnsLookup(this);
connect(m_dns, SIGNAL(finished()), this, SLOT(onHandle()));
m_dns->setType(QDnsLookup::TXT);
m_dns->setName("uol.com.br");
m_dns->lookup();
void Update::onHandle()
{
if (m_dns->error() != QDnsLookup::NoError)
qDebug() << m_dns->error() << m_dns->errorString();
foreach (const QDnsServiceRecord &record, m_dns->serviceRecords())
qDebug() << "Name: " << record.name();
emit handled();
}
如果我使用在线服务阅读记录,它就有效!
答案 0 :(得分:0)
onHandle插槽应该是m_dns-&gt; textRecords(),而不是m_dns-&gt; serviceRecords()。
正确的代码:
foreach (const QDnsTextRecord &record , m_dns->textRecords()) {
qDebug() << "Values: " << record.values();
qDebug() << "Name: " << record.name();
}