大きな画像ファイル (+20MB) が変更されるたびに、そのコピーをダウンロードしたいのですが、X 秒ごとにダウンロードして古いバージョンと比較しないと、画像が変更されたかどうかはどうやってわかるのでしょうか。そうしないと、帯域幅を大量に消費し、遅くなってしまいます。
画像を完全にダウンロードする前にそのサイズを確認する方法はありますか? つまり、サイズが変わると画像も変わるということです。
2 つの画像をダウンロードせずに (または最初の数キロバイトだけをダウンロードして) 比較できますか? つまり、画像にはサイズ情報やハッシュ値などが含まれていますか?
答え1
Wget では、サーバー側のファイルが新しい場合にのみダウンロードできます。
When running Wget with -N, with or without -r or -p, the decision
as to whether or not to download a newer copy of a file depends on
the local and remote timestamp and size of the file. -nc may not
be specified at the same time as -N.
答え2
アプローチ1:ファイル サーバーはディレクトリ アクセスを許可している可能性があります。親ディレクトリの出力にアクセスして解析してみてください。例:https://www.kernel.org/pub/site/
アプローチ2:コードでは、「content-length」ヘッダーフィールドを取得してファイルサイズを取得します。5月ファイルが変更されたことを示す指標になります。例:https://stackoverflow.com/questions/2983073/how-to-know-the-size-of-a-file-before-downloading-it/12271781#12271781
アプローチ3:サーバー管理者に、ダウンロード可能なチェックサム、新しいファイルが利用可能になったという通知、またはその他の形式のシェル/ディレクトリ アクセスを提供するよう依頼してください。