Verwenden von wget zum Herunterladen von CSS mit get-Parametern

Verwenden von wget zum Herunterladen von CSS mit get-Parametern

Ich versuche, eine Site zu spiegeln, aber das verlinkte CSS hat die URL:http://127.0.0.1:2368/assets/css/screen.css?v=c44dc08367

Die Verwendung von wget zum Herunterladen der Site speichert die CSS-Datei mit dem Dateinamenscreen.css?v=c44dc08367

Ich habe versucht, --adjust-extensionFlag zu verwenden, aber dadurch wird die Datei gespeichert. screen.css?v=c44dc08367.cssIst es möglich, sie auf die richtige Weise zu speichern, wie screen.cssmit wget?

Ich verwende GNU Wget 1.14, basierend auf Darwin 12.5.0.

EDIT: Ich kann den Dateinamen nicht angeben, da ich die ganze Site spiegele, daher lautet der eigentliche Befehl wie folgt. Der CSS-Link befindet sich innerhalb der Seite (die automatisch von wget abgerufen wird).

wget \
               --recursive \              # follow links to download entire site
               --page-requisites \        # grab everything: css / inlined images
               --no-parent \              # don't go to parent level
               --directory-prefix static \# download contents to static/ folder
               --no-host-directories \    # don't create domain named folder
               --adjust-extension \
               http://127.0.0.1:2368/

Antwort1

Leider trifft wget keine Annahmen darüber, was Sie herunterladen möchten, es sei denn, Sie sagen es ihm. Es ist ihm egal, ob Ihre Datei ein Bild, ein Dokument, eine komprimierte Datei usw. ist.

Die Datei wird mit der Endung der URL gespeichert – also mit allem vom letzten Schrägstrich bis zum Ende der URL. In Ihrem Fall ist das .css?v=c44dc08367. Der Teil nach der eigentlichen Dateierweiterung (.css) ist in der URL enthalten, aber ein HTTP-Abfrageparameter. Für wget bestimmt er jedoch den Ausgabedateinamen.

Wenn Sie einen Ausgabedateinamen für wget angeben möchten, fügen Sie die Option -O (Großbuchstabe O) hinzu:

wget http://127.0.0.1:2368/assets/css/screen.css?v=c44dc08367 -O screen.css

Schließlich gibt es noch die Option --content-disposition, die möglicherweise dazu führt, dass der richtige Dateiname festgelegt wird. Dies hängt jedoch vollständig davon ab, dass der Server, von dem Sie herunterladen, die richtigen Header-Informationen sendet.

Auszüge hier:Warum bekomme ich beim Abrufen eines Bilds eine Datei und kein Bild?

verwandte Informationen