curl 设置超时 --connect-timeout
如果是在一个纯IPV6的VPS上,用 curl -4 方法去查本机IP地址的时候。有可能会遇到等很久的情况。所以要加上一个超时的设定。找到这个参数是
--connect-timeout
示例:
curl -4s --connect-timeout 3 https://www.cloudflare.com/cdn-cgi/trace | grep ip= | sed -e "s/ip=//g"
https://poe.com/s/skXHAkmZ2hPx8c7NgU9f
--connect-timeout 和 -m 参数
--connect-timeout 和 -m 参数都是 curl 中用于控制请求时间的选项,但它们的作用略有不同:
--connect-timeout
含义: 指定连接到服务器的最大等待时间(以秒为单位)。
作用: 如果在指定的时间内未能建立连接,curl 将会终止请求。这是用于控制连接阶段的超时。
示例: --connect-timeout 5 表示连接超时时间为 5 秒。
-m 或 --max-time
含义: 设置整个请求的最大执行时间(以秒为单位)。
作用: 包括连接时间、数据传输时间等。如果在指定的时间内请求未完成,curl 将会终止请求。
示例: -m 10 表示整个请求的最大执行时间为 10 秒。
总结
--connect-timeout 控制的是连接阶段的超时,而 -m 控制的是整个请求的总超时。
通常,可以将这两个参数结合使用,以确保在连接和请求阶段都不会超时。
评论
发表评论