使用 wget 或 curl 下载时 VS Code 的扩展不起作用
Extensions for VS Code not working when downloaded with wget or curl
在远程计算机上,我正在尝试使用 wget
下载 VS Code 的扩展。但是,下载的文件总是损坏,无法使用。事实证明,使用 wget
或 curl
将检索比使用浏览器小一点的文件,因此它们无法解压缩似乎是合理的。我下载的URL是https://marketplace.visualstudio.com/_apis/public/gallery/publishers/stkb/vsextensions/rewrap/1.9.1/vspackage
Downloads/tmp >ls -la
total 168
drwxrwxrwx 1 enno enno 4096 Feb 6 08:45 .
drwxrwxrwx 1 enno enno 4096 Feb 6 08:45 ..
-rwxrwxrwx 1 enno enno 85317 Feb 6 08:45 curl.vsix
-rwxrwxrwx 1 enno enno 85317 Feb 6 08:45 wget.vsix
BWP-181WD4:Downloads/tmp >unzip curl.vsix
Archive: curl.vsix
End-of-central-directory signature not found. Either this file is not
a zipfile, or it constitutes one disk of a multi-part archive. In the
latter case the central directory and zipfile comment will be found on
the last disk(s) of this archive.
note: curl.vsix may be a plain executable, not an archive
unzip: cannot find zipfile directory in one of curl.vsix or
curl.vsix.zip, and cannot find curl.vsix.ZIP, period.
Downloads/tmp >unzip wget.vsix
Archive: wget.vsix
End-of-central-directory signature not found. Either this file is not
a zipfile, or it constitutes one disk of a multi-part archive. In the
latter case the central directory and zipfile comment will be found on
the last disk(s) of this archive.
note: wget.vsix may be a plain executable, not an archive
unzip: cannot find zipfile directory in one of wget.vsix or
wget.vsix.zip, and cannot find wget.vsix.ZIP, period.
但是,使用浏览器下载的文件效果很好:
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文件
如果您在浏览器中查看响应 header,您会发现它们是 gzip 压缩的。
为 curl/wget 找到一种使用响应 header 的 content-disposition
和 content-encoding
的方法。
在远程计算机上,我正在尝试使用 wget
下载 VS Code 的扩展。但是,下载的文件总是损坏,无法使用。事实证明,使用 wget
或 curl
将检索比使用浏览器小一点的文件,因此它们无法解压缩似乎是合理的。我下载的URL是https://marketplace.visualstudio.com/_apis/public/gallery/publishers/stkb/vsextensions/rewrap/1.9.1/vspackage
Downloads/tmp >ls -la
total 168
drwxrwxrwx 1 enno enno 4096 Feb 6 08:45 .
drwxrwxrwx 1 enno enno 4096 Feb 6 08:45 ..
-rwxrwxrwx 1 enno enno 85317 Feb 6 08:45 curl.vsix
-rwxrwxrwx 1 enno enno 85317 Feb 6 08:45 wget.vsix
BWP-181WD4:Downloads/tmp >unzip curl.vsix
Archive: curl.vsix
End-of-central-directory signature not found. Either this file is not
a zipfile, or it constitutes one disk of a multi-part archive. In the
latter case the central directory and zipfile comment will be found on
the last disk(s) of this archive.
note: curl.vsix may be a plain executable, not an archive
unzip: cannot find zipfile directory in one of curl.vsix or
curl.vsix.zip, and cannot find curl.vsix.ZIP, period.
Downloads/tmp >unzip wget.vsix
Archive: wget.vsix
End-of-central-directory signature not found. Either this file is not
a zipfile, or it constitutes one disk of a multi-part archive. In the
latter case the central directory and zipfile comment will be found on
the last disk(s) of this archive.
note: wget.vsix may be a plain executable, not an archive
unzip: cannot find zipfile directory in one of wget.vsix or
wget.vsix.zip, and cannot find wget.vsix.ZIP, period.
但是,使用浏览器下载的文件效果很好:
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文件
如果您在浏览器中查看响应 header,您会发现它们是 gzip 压缩的。
为 curl/wget 找到一种使用响应 header 的 content-disposition
和 content-encoding
的方法。