2012-07-12 215 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完全符合您的需求:「允許傳輸的最長時間」。你只是想錯了。