我们提供的服务无法通过IPv6发现,因此我们必须始终通过IPv4访问它。 我想通过IPv6对端口1234上的服务做一个Http请求,我想知道cURL会抛出什么错误代码?
答案 0 :(得分:1)
如果要强制使用其中一个,可以使用CURLOPT_IPRESOLVE和值CURL_IPRESOLVE_V4,CURL_IPRESOLVE_V6或CURL_IPRESOLVE_WHATEVER来选择一个。
正如我所看到的那样,只有当您的主机查找返回AAAA记录时才会发生当前问题,然后您无法通过v6连接到它。对我而言,这意味着您正在监控的服务已关闭/损坏。
如果您担心过渡到V6会导致问题,那么每项服务总是2个,设置为CURL_IPRESOLVE_V4,设置为CURL_IPRESOLVE_V6。这样您就可以在两个协议上监控服务。
此外,您可能需要/想要在监控服务中设置选项,以指示他们是否希望您尝试使用IPv6 || IPv4 ||都。