#include <WinSock2.h>
#include <WS2tcpip.h>
#include <iostream>
#pragma comment(lib,"WS2_32.lib")
int _tmain(int argc, _TCHAR* argv[])
{
int ret = 0;
WSADATA wsaData;
ret = WSAStartup(MAKEWORD(2, 2), &wsaData);
if (ret != 0)
{
return -1;
}
addrinfo hints;
addrinfo* result = NULL;
sockaddr_in* sockaddr_ipv4 = NULL;
ZeroMemory(&hints, sizeof(hints));
hints.ai_family = AF_UNSPEC;
hints.ai_socktype = SOCK_STREAM;
hints.ai_protocol = IPPROTO_TCP;
ret = getaddrinfo("www.baidu.com", "80", &hints, &result);
if (ret != 0)
{
return -1;
}
for (auto ptr = result; ptr != NULL; ptr=ptr->ai_next)
{
switch (ptr->ai_family)
{
case AF_UNSPEC:
break;
case AF_INET:
sockaddr_ipv4 = (sockaddr_in*)ptr->ai_addr;
std::cout << inet_ntoa(sockaddr_ipv4->sin_addr) << std::endl;
break;
default:
std::cout << "other: " << ptr->ai_family << std::endl;
}
}
int wait;
std::cin >> wait;
return 0;
}
通过域名获取ip地址
最新推荐文章于 2023-06-07 00:54:29 发布