我正在使用命令行curl程序,但有趣的是我没有找到一个命令行curl的超时参数。我阅读了curl的手册并进行了谷歌搜索,但仍然没有找到一个。libcurl有超时参数(CURLOPT_TIMEOUT),但这不是我要找的命令行curl超时参数。
有一个--max-time参数用于保持连接打开的最长时间和一个--connect-timeout参数用于curl的连接阶段,但没有普通的超时时间参数。
有人知道这个参数吗?
我正在使用命令行curl程序,但有趣的是我没有找到一个命令行curl的超时参数。我阅读了curl的手册并进行了谷歌搜索,但仍然没有找到一个。libcurl有超时参数(CURLOPT_TIMEOUT),但这不是我要找的命令行curl超时参数。
有一个--max-time参数用于保持连接打开的最长时间和一个--connect-timeout参数用于curl的连接阶段,但没有普通的超时时间参数。
有人知道这个参数吗?
选项 --max-time
正好符合您的需求: "允许整个操作花费的最长时间(以秒为单位)"。你只是对它的理解有误。
# 10 seconds for the full operation to complete
curl --max-time 10 https://example.com
在Unix操作系统中,你可以使用timeout命令。尝试以下命令:
timeout -s SIGTERM 3600 curl --your arguments here
如果可以的话,在3600秒后发送SIGTERM以结束程序,如果它遵守这个信号。这总比默认的暴力SIGKILL好,后者可能会在文件下载到99%时损坏文件。
--connect-timeout
和--max-time
参数提供更细粒度的控制,并保持curl
本身的控制流; (2) 在我检查的每个*nix上,正确的语法是-s SIGTERM
或--signal=SIGTERM
,而不是-SIGTERM
。 - Chris Johnson