MFC 获取域名TXT记录内容

#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*)&current->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;

}

}

相关推荐
2501_941111341 分钟前
C++中的策略模式高级应用
开发语言·c++·算法
普通网友2 小时前
C++与Qt图形开发
开发语言·c++·算法
AA陈超2 小时前
UE5笔记:GetWorld()->SpawnActorDeferred()
c++·笔记·学习·ue5·虚幻引擎
普通网友2 小时前
C++中的适配器模式
开发语言·c++·算法
无敌最俊朗@3 小时前
力扣hot100-160-相交链表
c++
普通网友3 小时前
C++中的委托构造函数
开发语言·c++·算法
普通网友3 小时前
C++中的代理模式实战
开发语言·c++·算法
普通网友3 小时前
C++模块化设计原则
开发语言·c++·算法
864记忆4 小时前
Qt c++的基础语法有哪些?
开发语言·c++·qt
龙泉寺天下行走4 小时前
Vscode 配置C++ Mingw调试、编译环境-无需修改系统PATH变量的VS Code配置方法
c++·ide·vscode