微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

默认情况下,libcurl 优先考虑哪个 IP 版本

如何解决默认情况下,libcurl 优先考虑哪个 IP 版本

我使用的是 libcurl 的认解析选项

curl_easy_setopt(curl,CURLOPT_IPRESOLVE,CURL_IPRESOLVE_WHATEVER);

当 libcurl 解析主机地址并同时获得 IPv4 地址和 IPv6 地址时,libcurl 将首先使用 IPv4 还是 IPv6? libcurl 使用什么算法来选择首先使用的 ip 地址?

有没有办法强制 libcurl 首先使用所有 ipv6 地址,如果失败则转到 ipv4 地址?

解决方法

未指定顺序。我想,使用了 DNS 响应的顺序。

这更聪明一点。如果可以重用与该主机的活动连接,则不会执行与已解析多个 IP 的主机的连接。

有没有办法强制 libcurl 首先使用所有 ipv6 地址,如果失败则转到 ipv4 地址?

CURLOPT_IPRESOLVE 使用相应的选项。第一次失败后使用下一个。特定选项会尝试同一系列的所有可用 IP 地址。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。