Ich bin auf diese Website gestoßen, die darüber spricht.
Was ist also der richtige Befehl, wenn Sie die gesamte Website mit der komprimierten Version herunterladen?
Ich habe diesen Befehl getestet, aber ich weiß nicht, ob ich wirklich die komprimierte Version bekommen werde:
wget --header="accept-encoding: gzip" -m -Dlinux.about.com -r -q -R gif,png,jpg,jpeg,GIF,PNG,JPG,JPEG,js,rss,xml,feed,.tar.gz,.zip,rar,.rar,.php,.txt -t 1 http://linux.about.com/
Antworten:
Wenn Sie gzip'ed-Inhalt anfordern (unter Verwendung des richtigen accept-encoding: gzip-Headers), kann wget den Inhalt meines Erachtens nicht lesen. So erhalten Sie eine einzelne gezippte Datei auf der Festplatte für die erste Seite, die Sie aufgerufen haben, aber keinen anderen Inhalt.
Das heißt, Sie können wget nicht verwenden, um gezippte Inhalte anzufordern und gleichzeitig die gesamte Website erneut aufzurufen.
Ich denke, es gibt einen Patch, mit dem wget diese Funktion unterstützt, der jedoch nicht in der Standard-Distributionsversion enthalten ist.
Wenn Sie das -S-Flag angeben, können Sie feststellen, ob der Webserver mit dem richtigen Inhaltstyp antwortet. Beispielsweise,
Die Inhaltskodierung gibt eindeutig gzip an, jedoch für linux.about.com (derzeit).
Es gibt Text / HTML zurück.
Da bei einigen älteren Browsern immer noch Probleme mit gzip-codiertem Inhalt auftreten, wird dieser auf vielen Websites nur basierend auf der Browseridentifikation aktiviert. Sie schalten es oft standardmäßig aus und nur dann, wenn sie wissen, dass der Browser es unterstützt - und normalerweise nehmen sie wget nicht in diese Liste auf. Dies bedeutet, dass Sie möglicherweise feststellen, dass wget niemals gzip-Inhalte zurückgibt, auch wenn die Site dies für Ihren Browser zu tun scheint.
quelle
Content-Type: text/html; charset=UTF-8
, aber es gibt auchContent-Encoding: gzip
. Es wäre keine transparente Komprimierung, wenn sie den MIME-Typ von allem auf gzip zwingen würde ... Ich bin gelaufen,strace -s 128 wget ...
um tatsächlich einige der Bytes zu sehen, die vom Socket gelesen / auf die Festplatte geschrieben wurden. Sie sind nicht-ASCII. Also, während ich denke, dass Ihr Befehl im Jahr 2011 keine gezippte Version erhalten hat, war es im Jahr 2015 genauso. (wget 1.15).Einfacher Befehl, um die HTML-Seite abzurufen und zu komprimieren oder eine beliebige Datei abzurufen und zu komprimieren.
Weitere Informationen zu dieser Option. Verwenden Sie den Befehl man.
quelle