这是我需要获取的一份作业文件 pg100.txt,可在 https://www.gutenberg.org/cache/epub/100/pg100.txt 我登录到 Linux 机器 ssh user@machine
wget https://www.gutenberg.org/cache/epub/100/pg100.txt
我获取了文件,但获取的文件是乱码。我想知道 1) 如何获取正确的文本文件 2) 为什么当我执行 wget 时文本是乱码,它在浏览器中正常打开。我通过 putty 从我的 Windows 10 机器登录到远程服务器 (CentoS7)。
我尝试在 SO 上提问,但机器人将我重定向到这里。如果这里不适合提问,请告诉我去哪里提问。
答案1
Web 服务器在响应头中提供有关响应主体的信息。
为了仅查看标题,我们可以运行:
$ wget --spider --server-response https://www.gutenberg.org/cache/epub/100/pg100.txt
Spider mode enabled. Check if remote file exists.
--2019-10-14 09:13:55-- https://www.gutenberg.org/cache/epub/100/pg100.txt
Resolving www.gutenberg.org (www.gutenberg.org)... 152.19.134.47
Connecting to www.gutenberg.org (www.gutenberg.org)|152.19.134.47|:443... connected.
HTTP request sent, awaiting response...
HTTP/1.1 200 OK
Server: Apache
Content-Location: pg100.txt.utf8.gzip
Vary: negotiate
TCN: choice
Last-Modified: Sun, 01 Oct 2017 05:16:47 GMT
X-Frame-Options: sameorigin
X-Connection: Close
Content-Type: text/plain; charset=utf-8
Content-Encoding: gzip
X-Powered-By: 1
Content-Length: 2023394
Date: Mon, 14 Oct 2019 13:13:55 GMT
X-Varnish: 1859043781 1856607983
Age: 104391
Via: 1.1 varnish
Length: 2023394 (1.9M) [text/plain]
Remote file exists.
一旦我们看到内容实际上是用 gzip 压缩的,我们就可以使用 gunzip 来解压缩它:
$ wget -O - https://www.gutenberg.org/cache/epub/100/pg100.txt | gunzip -c > pg100.txt
当页面在现代浏览器中显示出来的时候,你会发现浏览器已经帮我们完成了这个工作。