gpt4 book ai didi

php - 是否可以将 getaddrinfo() 设置为默认仅检索 IPV4 地址?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:00:23 25 4
gpt4 key购买 nike

Php curl 使用 getaddrinfo() 将主机名解析为 IP 地址。通过设置一个选项,可以很容易地让它查找 IPV4 地址,但是这将需要做很多工作,并且当我们在我们的网络上正常启动和运行 IPv6 时将很难撤消。

有什么方法可以将 getaddrinfo() 设置为默认为我们整个 Ubuntu 服务器的 IPv4 查找?

谢谢韦恩

最佳答案

此解决方案适用于 C,不确定是否适用于 php。调用 getaddrinfo 时,您传递一个 struct addrinfo 提供关于您要查找的内容的“提示”。下面的例子

  struct addrinfo *res;
struct addrinfo hints;
memset(&hints, 0, sizeof(hints));
hints.ai_family = PF_INET;
hints.ai_flags = AI_PASSIVE;
hints.ai_socktype = SOCK_STREAM;

getaddrinfo("localhost", "80", &hints, &res);

从我的评论中复制如下,因为它似乎适用于答案:

Just create a wrapper function for getaddrinfo that provides your 'defaults'. Then use the wrapper function throughout your application. When ipv6 is up and running change the function's internal 'default'.

关于php - 是否可以将 getaddrinfo() 设置为默认仅检索 IPV4 地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13817351/

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