2012-07-12 210 views
14

我正在使用命令行卷曲程序,有趣的是我找不到命令行卷曲的超时参数。我阅读手册卷曲和谷歌搜索,但仍无法找到一个。 libcurl有超时参数(CURLOPT_TIMEOUT),但这不是我正在寻找的。我正在查找命令行curl超时参数。命令行卷曲超时参数

--max-time参数用于保持连接打开的最长时间,--connect-timeout用于curl的连接阶段,但没有用于正常超时的参数。

有没有人知道这个参数?

+0

你是什么意思“正常超时”。 – msw 2012-07-12 03:42:00

+0

说我试图用curl下载一个大文件,并说它需要1小时才能下载。所以我应该设置超时1小时以上。这是我所指的超时。 – user1519575 2012-07-12 18:30:57

回答

4

在un * x上,您有超时命令。请尝试:

timeout -s SIGTERM 3600 curl --your arguments here 

3600秒后发送一个SIGTERM结束,如果它,如果它荣幸它。 始终比一个残酷的SIGKILL更好,它可能会破坏以99%下载的文件:¬)

+1

这有两个问题。 (1)此超时将应用于整个卷曲操作,包括DNS解析,连接和等待答复。使用'--connect-timeout'和'--max-time'参数可以提供更细化的控制,并保持'curl'本身的控制流。 (2)在我检查的每个* nix上,正确的语法是'-s SIGTERM'或'--signal = SIGTERM',而不是'-SIGTERM'。 – 2015-06-19 15:00:45

+0

谢谢,我修复了-s部分 – 2015-08-26 12:03:27

29

选项--max-time完全符合您的需求:“允许传输的最长时间”。你只是想错了。