gzipを介してのみ応答するサイトをミラーリングするには、wgetを使用してください。

gzipを介してのみ応答するサイトをミラーリングするには、wgetを使用してください。

サイトをミラーリングしようとしていますが、サーバーはgzipで圧縮されたページにのみ応答するため、wgetは繰り返されません。検索してみると、wgetにgzipサポートを追加するパッチへの参照がありますが、古いようです。これを行う方法はありますか?そうでない場合は、nginxを介したリバースプロキシを検討しています。

ベストアンサー1

4つの方法があります:

  1. wgetその後gunzip、HTMLで再処理します。完了するまで繰り返します。

    wget -m http://example.org/page.html
    find . -name \*gz -exec gzip -d {} \;
    find . -name \*html -exec wget -M -F {} \;</code></pre>
    

    速度は遅いですが動作します。

  2. Privoxyをインストールし、要求されたページを解凍するように設定します。

    +圧縮防止

    ウェブサイトのデータ圧縮を防ぎます。一部のサイトではこれを行います。これは、+filterと+gif-deanimateが圧縮データで機能しないため、zlibサポートなしでビルドするとPrivoxyに問題があります。ただし、これらのサイトへの接続が遅くなります。

  3. Privoxyまたは他のプロキシは圧縮されたページをインポートし、圧縮されていないコピーをクライアントGoogleに渡すこともできます。

  4. wgetリクエストコンテンツの「Accept-Encoding:gzip」ヘッダーを送信しません。gzipなぜこれが起こるのかを確認してください。たぶんそれを追加するエージェントはありますか? Privoxyを使用してこのヘッダーを削除することもできます。

おすすめ記事