Curl 当我们对无法通过IPv6访问的http服务进行卷曲时,卷曲会引发什么错误?

Curl 当我们对无法通过IPv6访问的http服务进行卷曲时,卷曲会引发什么错误?,curl,libcurl,pycurl,Curl,Libcurl,Pycurl,我们有一个无法通过IPv6发现的服务,因此我们必须始终通过IPv4访问它。 我想通过IPv6向端口1234上的服务发出Http请求,我想知道cURL抛出的错误代码是什么?您可能正在运行双堆栈。因此,curl尝试IPv6连接的唯一方法是向其提供一个IPv6地址进行检查。因此,如果您执行DNS查找并获得AAAA响应,那么它将尝试通过IPv6。如果给它一个A,它将通过IPv4发出 如果要强制选择其中一个,可以使用CURLOPT_IPRESOLVE和CURL_IPRESOLVE_V4、CURL_IPRE

我们有一个无法通过IPv6发现的服务,因此我们必须始终通过IPv4访问它。
我想通过IPv6向端口1234上的服务发出Http请求,我想知道cURL抛出的错误代码是什么?

您可能正在运行双堆栈。因此,curl尝试IPv6连接的唯一方法是向其提供一个IPv6地址进行检查。因此,如果您执行DNS查找并获得AAAA响应,那么它将尝试通过IPv6。如果给它一个A,它将通过IPv4发出

如果要强制选择其中一个,可以使用CURLOPT_IPRESOLVE和CURL_IPRESOLVE_V4、CURL_IPRESOLVE_V6或CURL_IPRESOLVE_任意值来选择一个

在我看来,只有当主机查找返回AAAA记录,并且无法通过v6连接到它时,才会出现当前问题。对我来说,这意味着您正在监视的服务已停止/中断

如果您担心过渡到V6会导致问题,那么每次服务都会有2个问题,一个设置了CURL\u IPRESOLVE\u V4,另一个设置了CURL\u IPRESOLVE\u V6。通过这种方式,您可以监视两个协议上的服务


此外,您可能需要/希望在监控服务中设置选项,以指示他们是否希望您同时尝试IPv6和IPv4

它很可能会超时吗?你有什么理由不能试一下看看会发生什么?您是通过nam还是通过IP访问它?这个名字有AAAA记录吗?您访问它的主机是否启用了IPv6?如果未启用,它是否没有IPv6连接?这种情况听起来可能还有其他问题。我们为用户设置了云服务,并为用户提供健康监控服务。我们正在升级到IPv6,可能存在无法通过IPv6执行http的服务。因此,在更新我们的云服务之前,我无法确定这是哪项服务。我通过cURL的cURL\u easy\u setopt()方法访问它。所有的机器都有IPv6连接。此外,现代的curl版本也在引擎盖下使用“快乐眼球”方法,这意味着它尝试连接IPv4和IPv6(如果可用),并使用连接最快的一种。