wget
通常、私はダウンロードを実行したファイルを取得するためにこれを使用します。
しかし、現在私が使用していますウェブサイトダウンロードの作成には数秒かかるため、wget
必要なzipファイルの代わりにhtmlがダウンロードされます。
トリガーされたダウンロードを受け取るにはどのツールを使用できますか?
答え1
景色は明るく見えません。あなたが探しているものに最も近いオプションは次のとおりです。curl
より良いものは提供されません。
私はタイムアウト(カウントダウン)が防止されると確信しています。正確にこの種の活動。
-T seconds
、--timeout=seconds
ネットワークタイムアウトを秒に設定します。これは指定するのと同じです。--dns-timeout
、--connect-timeout
と--read-timeout
、同時に。
ネットワークと対話すると、Wgetはタイムアウトを確認し、時間がかかりすぎると操作を中止する可能性があります。これにより、読み取り中断や無限接続などの異常現象が防止されます。デフォルトでは、有効な唯一のタイムアウトは900秒の読み取りタイムアウトです。タイムアウトを 0 に設定すると、完全に無効になります。実行している操作がわからない場合は、デフォルトのタイムアウト設定を変更しないことをお勧めします。
すべてのタイムアウト関連オプションは、10進値だけでなく1秒未満の値も受け入れます。たとえば、0.1秒はタイムアウトの正当な(賢明ではありませんが)選択です。 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
ファタイ