
Мне было интересно, почему следующая команда не загружает PDF-файл, хотя вставка URL-адреса в адресную строку браузера позволяет? (Я пытаюсь узнать немного о HTTP, веб-сервисах или веб-приложениях из этого вопроса)
Как использовать wget для загрузки PDF-файла?
Спасибо.
$ 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
решение1
Похоже, ваша оболочка интерпретирует &
символы в URL-адресе и они не доходят до wget
.
Вам следует заключить строку в одинарные кавычки, чтобы ваша оболочка воспринимала все как одну строку и не пыталась интерпретировать специальные символы:
wget 'https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.99.598&rep=rep1&type=pdf'