闲来无事,随便弄弄
#pragma comment(lib, "ws2_32")
#include <WinDNS.h>
#pragma comment(lib, "dnsapi")
int _tmain(int argc, _TCHAR *argv[])
{
PDNS_RECORDW pdns_record = NULL;
DNS_STATUS dns_status;
dns_status = DnsQuery_W(L"baidu.com", DNS_TYPE_A, DNS_QUERY_STANDARD, NULL, &pdns_record, NULL);
PDNS_RECORDW pdns_iter = pdns_record;
unsigned int idx = 0;
while(pdns_iter)
{
in_addr iaddr = {0};
char *paddr = NULL;
iaddr.S_un.S_addr = pdns_iter->Data.A.IpAddress;
paddr = inet_ntoa(iaddr);
printf("index = %d \n", ++idx);
wprintf(L"domain = %ws \n", pdns_iter->pName);
printf("data length = %d \n", pdns_iter->wDataLength);
printf("TTL = %d \n", pdns_iter->dwTtl);
printf("ip = %s \n\n", paddr);
pdns_iter = pdns_iter->pNext;
}
DnsRecordListFree(pdns_record, DnsFreeRecordList);
system("pause");
return 0;
}