
ブラウザのアドレスバーに URL を貼り付けると PDF ファイルをダウンロードできるのに、次のコマンドではダウンロードできないのはなぜでしょうか? (この質問から HTTP、Web サービス、または Web アプリケーションについて少し学ぼうとしています)
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
。
文字列を一重引用符で囲む必要があります。そうすることで、シェルは文字列全体を 1 つの文字列として扱い、特殊文字を解釈しないようにします。
wget 'https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.99.598&rep=rep1&type=pdf'