Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用wget或curl下载时VS代码的扩展不起作用_Curl_Visual Studio Code_Wget_Unzip_Vscode Extensions - Fatal编程技术网

使用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