我正在尝试从以下网址下载一个 zip 文件:https : //download.sysinternals.com/files/ProcessExplorer.zip(没有 curl 和 WGET)。我想通过 netcat 做到这一点,我使用了这个命令:
echo -e "GET
https://download.sysinternals.com/files/ProcessExplorer.zip HTTP/1.1\r\nHost: download.sysinternals.com\r\n\r\n" | nc download.sysinternals.com 80 > q.zip
该文件写在硬盘上,但是当我尝试打开它时它已损坏。
因此,据我所知,
netcat
不能使用 HTTPS,但在您的代码中,您连接到端口 80,这意味着 HTTP,而不是 HTTPS。之后,
GET
您应该添加相对地址,而不是完整地址。像这样的东西会起作用:
传输完成后它不会关闭,您必须手动关闭它。
此时该
q.temp
文件还包含 HTTP 标头,您必须将其删除。您可以检查二进制内容开头的行号:在这种情况下,二进制内容从第 16 行开始,因此您可以使用以下命令删除标题:
那里有你的 zip 文件!