
Ich habe mich gefragt, warum der folgende Befehl beim Herunterladen einer PDF-Datei fehlschlägt, während das Einfügen der URL in die Adressleiste des Browsers funktioniert. (Ich versuche, aus dieser Frage etwas über HTTP, Webdienste oder Webanwendungen zu lernen.)
Wie verwende ich wget, um die PDF-Datei herunterzuladen?
Danke.
$ wget https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.99.598&rep=rep1&type=pdf
[1] 5696
[2] 5697
Redirecting output to ‘wget-log.1’.
[2]+ Done rep=rep1
$ cat wget-log
--2019-11-25 13:30:42-- https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.99.598
Resolving citeseerx.ist.psu.edu (citeseerx.ist.psu.edu)... 130.203.136.95
Connecting to citeseerx.ist.psu.edu (citeseerx.ist.psu.edu)|130.203.136.95|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5641 (5.5K) [text/html]
Saving to: ‘download?doi=10.1.1.99.598’
download?doi=10.1.1.99.598 100%[============================================================================================>] 5.51K --.-KB/s in 0s
2019-11-25 13:30:42 (453 MB/s) - ‘download?doi=10.1.1.99.598’ saved [5641/5641]
[1]+ Done wget https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.99.598
Antwort1
Es sieht so aus, als ob Ihre Shell die Zeichen in der URL interpretiert &
und sie nicht ankommen wget
.
Sie sollten den String in einfache Anführungszeichen setzen, damit Ihre Shell das Ganze als einen String behandelt und nicht versucht, Sonderzeichen zu interpretieren:
wget 'https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.99.598&rep=rep1&type=pdf'