答案1
看起来前景并不乐观。以下是我能找到的与您寻找的选项最接近的选项。curl
没有提供任何更好的东西。
我很确定超时(倒计时)是为了阻止确切地这种类型的活动。
-T seconds
,--timeout=seconds
将网络超时设置为秒秒。这相当于指定--dns-timeout
,--connect-timeout
, 和--read-timeout
,同时进行。
与网络交互时,Wget 可以检查超时情况,如果时间过长则中止操作。这可以防止诸如挂起读取和无限连接之类的异常情况。默认情况下启用的唯一超时是 900 秒读取超时。将超时设置为 0 会完全禁用它。除非您知道自己在做什么,否则最好不要更改默认超时设置。
所有与超时相关的选项都接受十进制值以及亚秒值。例如,0.1 秒是合法(尽管不明智)的超时选择。亚秒超时对于检查服务器响应时间或测试网络延迟非常有用。
--dns-timeout=seconds
将 DNS 查找超时设置为 秒 秒。未在指定时间内完成的 DNS 查找将会失败。默认情况下,除了系统库实现的超时之外,DNS 查找没有超时。
--connect-timeout=seconds
将连接超时设置为秒。建立时间较长的 TCP 连接将被中止。默认情况下,除了系统库实现的连接超时之外,没有连接超时。
--read-timeout=seconds
将读取(和写入)超时设置为秒秒。这个超时的“时间”是指空闲时间:如果在下载过程中的任何一点,超过指定秒数没有收到数据,则读取失败并重新开始下载。此选项不会直接影响整个下载的持续时间。
当然,远程服务器可以选择比此选项要求更早终止连接。默认读取超时为 900 秒。
尽管你可能能够编写如下脚本:
#!/bin/sh -
# an attempt to pause long enough for countdown before opening an accept port
wget https://some/long/url/download-file
sleep 9
exit
华泰