gpt4 book ai didi

c - getaddrinfo() 函数返回错误的 IP 地址

转载 作者:太空狗 更新时间:2023-10-29 15:27:27 25 4
gpt4 key购买 nike

我正在尝试使用 getaddrinfo() 解析 URL 的 IP 地址,但它总是返回错误的 IP 地址,我尝试了多个 URL,结果都是一样的。任何帮助将不胜感激。

程序返回 ip 地址:209.85.175.99 而不是返回真实 IP,即 74.125.39.147

#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>

int
main()
{
char *hostname = "www.google.lk";
struct addrinfo hints, *res;
struct in_addr addr;
int err;

memset(&hints, 0, sizeof(hints));
hints.ai_socktype = SOCK_STREAM;
hints.ai_family = AF_INET;

if ((err = getaddrinfo(hostname, NULL, &hints, &res)) != 0) {
printf("error %d\n", err);
return 1;
}

addr.s_addr = ((struct sockaddr_in *)(res->ai_addr))->sin_addr.s_addr;

printf("ip address : %s\n", inet_ntoa(addr));

freeaddrinfo(res);

return 0;
}

最佳答案

google.com 可以根据您所在的位置解析为不同的 IP 地址。这是一种负载平衡技巧。

关于c - getaddrinfo() 函数返回错误的 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7725498/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com