#include <WinDns.h>
void GetTxtRecord(const std::string& domain) {
DNS_RECORD* pRecord = nullptr;
DWORD err = DnsQuery_UTF8(domain.c_str(), DNS_TYPE_TEXT, DNS_QUERY_STANDARD, nullptr, &pRecord, nullptr);
if (err == ERROR_SUCCESS) {
DNS_RECORD* current = pRecord;
while (current != nullptr) {
if (current->wType == DNS_TYPE_TEXT) {
DNS_TXT_DATAW* txtData = (DNS_TXT_DATAW*)¤t->Data.Txt;
for (ULONG i = 0; i < txtData->dwStringCount; i++) {
CStringA str = (LPCSTR)txtData->pStringArray[i];
TRACE(_T("%s\n"), txtData->pStringArray[i]);
std::wcout << txtData->pStringArray[i] << std::endl;
}
}
current = current->pNext;
}
DnsRecordListFree(pRecord, DnsFreeRecordList);
}
else {
std::cerr << "Error querying DNS: " << err << std::endl;
}
}