wget - Ich kann keine Dateien mit "?" herunterladen.

6

Ich wollte ein paar Tuts on aircrack von wget herunterladen und habe versagt:

wget -r 2 http://www.aircrack-ng.org/doku.php\?id=tutorial\&DokuWiki=78e8249415a9ce232228ed8f9f02b9dd 
--2011-10-06 14:16:11--  http://2/
Resolving 2... 0.0.0.2
Connecting to 2|0.0.0.2|:80... failed: Invalid argument.
--2011-10-06 14:16:11--  http://www.aircrack-ng.org/doku.php?id=tutorial&DokuWiki=78e8249415a9ce232228ed8f9f02b9dd
Resolving www.aircrack-ng.org... 213.186.33.2, 2001:41d0:1:1b00:213:186:33:2
Connecting to www.aircrack-ng.org|213.186.33.2|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
www.aircrack-ng.org/doku.php?id=tutorial&DokuWiki=78e8249415a9ce232228ed8f9f02b9dd: Invalid argument

Cannot write to `www.aircrack-ng.org/doku.php?id=tutorial&DokuWiki=78e8249415a9ce232228ed8f9f02b9dd' (Invalid argument).

Wissen Sie, wie Sie dieses Problem beheben können?

oneat
quelle
Ich kann das Problem nicht reproduzieren, aber Sie sollten das entfernen 2 nach dem -r (Diese Option erfordert kein Argument).
Kusalananda

Antworten:

8

Dies ist wahrscheinlich das Dateisystem, das Sie herunterladen, um keinen Dateinamen mit "?" Zuzulassen. drin. Beachten Sie, dass der Fehler "Schreiben nicht möglich" ist.

Du kannst den ... benutzen --restrict-file-names=windows Option, um Namen für die Kompatibilität mit FAT-Dateisystemen zu schützen. (Beachten Sie, dass der nicht reversible Zusatz % -encoding von wget ist im Vergleich zur Webarchitektur nicht korrekt, aber es ist Ihnen wahrscheinlich egal.

Sie könnten auch verwenden -O <filename> einen bestimmten Dateinamen angeben, wenn Sie nur eine Datei herunterladen.

Kevin Reid
quelle
--restrict ... hat das Problem mit Ubuntu bash unter Windows 10 gelöst
chwi
4

Das & Auch verursacht häufig Probleme. Versuchen Sie, die gesamte URL in Anführungszeichen zu setzen.

pjc50
quelle
2

Wie von vorgeschlagen pjc50 Bitte geben Sie die URL in Anführungszeichen ein, wenn Sie Sonderzeichen enthalten. Deshalb sollten Sie versuchen:

wget -r 2 'http://www.aircrack-ng.org/doku.php?id=tutorial&DokuWiki=78e8249415a9ce232228ed8f9f02b9dd'

Wenn Sie keine Anführungszeichen verwenden, wird die Shell bei einem Kontakt mit einem &geht davon aus, dass Sie das ausführen möchten wget Job im Hintergrund.

Barun
quelle