cURL:DNS 缓存中未找到主机名

cURL:DNS 缓存中未找到主机名

我们遇到了一个奇怪的错误。它大约每分钟发生一次,我们在日志中看到以下内容:

* Connection #0 to host data01 left intact
* Hostname was NOT found in DNS cache
*   Trying x.x.x.x...
* connect to x.x.x.x port yyyy failed: Connection timed out
* Failed to connect to x.x.x.x port yyyy: Connection timed out
* Closing connection 0`

我们在 /etc/hosts 文件中正确定义了 data01,但由于某种原因,解析的 xxxx IP 地址不正确,因此连接失败。

curl --version 返回以下内容:

curl 7.35.0 (x86_64-pc-linux-gnu) libcurl/7.35.0 OpenSSL/1.0.1f zlib/1.2.8 libidn/1.28 librtmp/2.3

请帮忙。

答案1

最后,找到了一个解决方法:CURLOPT_RESOLVE

尽管 cURL 错误地解析了主机的 IP 地址,但使用该选项允许我们覆盖常规解析过程。

希望它能帮助其他发现同样问题的人。

相关内容