使用wget或curl下载时VS代码的扩展不起作用
在远程机器上,我试图使用使用wget或curl下载时VS代码的扩展不起作用,curl,visual-studio-code,wget,unzip,vscode-extensions,Curl,Visual Studio Code,Wget,Unzip,Vscode Extensions,在远程机器上,我试图使用wget下载VS代码的扩展。但是,下载的文件始终损坏,无法使用。事实证明,使用wget或curl将检索比使用浏览器略小的文件,因此无法解压缩似乎是合理的。我用于下载的URL是 但是,使用浏览器下载的文件就可以了: BWP-181WD4:Downloads/tmp >unzip ./browser.vsix Archive: ./browser.vsix inflating: extension.vsixmanifest inflating: [Conten
wget
下载VS代码的扩展。但是,下载的文件始终损坏,无法使用。事实证明,使用wget
或curl
将检索比使用浏览器略小的文件,因此无法解压缩似乎是合理的。我用于下载的URL是
但是,使用浏览器下载的文件就可以了:
BWP-181WD4:Downloads/tmp >unzip ./browser.vsix
Archive: ./browser.vsix
inflating: extension.vsixmanifest
inflating: [Content_Types].xml
inflating: extension/CHANGELOG.md
inflating: extension/images/logo.png
inflating: extension/images/logo.svg
inflating: extension/package.json
inflating: extension/README.md
...
为什么?文件大小明显不同:
Downloads/tmp >ls -la
total 256
drwxrwxrwx 1 enno enno 4096 Feb 6 08:52 .
drwxrwxrwx 1 enno enno 4096 Feb 6 08:50 ..
-rwxrwxrwx 1 enno enno 90035 Feb 6 08:49 browser.vsix
-rwxrwxrwx 1 enno enno 85317 Feb 6 08:45 curl.vsix
-rwxrwxrwx 1 enno enno 85317 Feb 6 08:45 wget.vsix
这与
wget
和curl
检索文件或Microsoft如何提供这些文件有关吗?使用wget和curl下载的文件是gzip文件
将文件名更改为vspackage.gz
,并使用gunzip
提取vsix文件
如果查看浏览器中的响应头,您会发现它们是gzip压缩的
找到一种方法,让curl/wget使用响应头的
内容配置
和内容编码
。将文件逐字节与cmp
进行比较,查看缺少哪些字节。可能会告诉curl将文件视为二进制文件。cmp
表示curl.vsix browser.vsix不同:字节1,第1行
。因此看来,curl
并不是简单地下载文件的一部分,而是完全不同的东西。如何告诉curl
将文件视为二进制文件?我只能找到只影响上传的--数据二进制
。如果使用od-x
查找文件大小差异的可能原因,我使用od-x
转换两个文件,然后使用diff
,这表明两个文件完全不同。
Downloads/tmp >ls -la
total 256
drwxrwxrwx 1 enno enno 4096 Feb 6 08:52 .
drwxrwxrwx 1 enno enno 4096 Feb 6 08:50 ..
-rwxrwxrwx 1 enno enno 90035 Feb 6 08:49 browser.vsix
-rwxrwxrwx 1 enno enno 85317 Feb 6 08:45 curl.vsix
-rwxrwxrwx 1 enno enno 85317 Feb 6 08:45 wget.vsix