怎么用c或者c++代码获取默认DNS服务器的ip
展开全部
这里的代码可以打印出电脑默认的DNS服务器
参考资料:http://blog.csdn.net/shimazhuge/article/details/8949508
#pragma warning(disable:4996)
#include <stdio.h>
#include <WinSock2.h>
#include <iphlpapi.h>
#pragma comment(lib, "IPHLPAPI.lib")
#pragma comment(lib, "ws2_32.lib")
int main() // 获取本地主机名、域名和DNS服务器信息
{
// 声明变量
FIXED_INFO * FixedInfo; // 定义保存本地计算机网络参数信息的结构体指针
ULONG ulOutBufLen; // 保存获取到的本地计算机网络参数信息结构体链表的长度
DWORD dwRetVal; // 调用GetNetworkParams()函数的返回值
IP_ADDR_STRING * pIPAddr; // 保存所有DNS服务器的IP地址列表
FixedInfo = (FIXED_INFO *)GlobalAlloc(GPTR, sizeof(FIXED_INFO)); // 为FixedInfo结构体分配内存空间
ulOutBufLen = sizeof(FIXED_INFO); // 初始化ulOutBufLen变量值
// 第1次调用GetNetworkParams()函数,获取返回结果的大小到ulOutBufLen中
if (ERROR_BUFFER_OVERFLOW == GetNetworkParams(FixedInfo, &ulOutBufLen))
{
GlobalFree(FixedInfo);
FixedInfo = (FIXED_INFO *)GlobalAlloc(GPTR, ulOutBufLen);
}
// 第2次调用GetNetworkParams()函数,以前面获取的ulOutBufLen作为参数,
if (dwRetVal = GetNetworkParams(FixedInfo, &ulOutBufLen) != ERROR_SUCCESS)
{
printf("调用GetNetworkParams()函数失败。返回值: %08x\n", dwRetVal);
}
else
{
printf("\nDNS服务器列表:\n");
printf("%s\n", FixedInfo->DnsServerList.IpAddress.String);
pIPAddr = FixedInfo->DnsServerList.Next;
while (pIPAddr)
{
printf("\t%s\n", pIPAddr->IpAddress.String);
pIPAddr = pIPAddr->Next;
}
}
printf("按下回车键结束\n");
getchar();
return 0;
}
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是一家提供动态代理服务器服务的企业,旨在帮助用户更好地管理网络访问和安全。以下是一些关于StormProxies的IP动态代理服务的特点:1. 高匿名性:StormProxies的动态代理服务器具有高匿名性,可以有效...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询