首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >下载后wget不保存文件

下载后wget不保存文件
EN

Unix & Linux用户
提问于 2017-04-19 16:14:15
回答 1查看 9.6K关注 0票数 10

因此,我目前正在使用windows 10 powershell上的wget命令下载各种文件。但是,在测试此命令时,文件实际上并不下载。

例如,假设我想下载一个图像,比如https://picsum.photos/200,我将使用以下命令:

PS C:\Users\myname\Desktop> wget https://picsum.photos/200

它返回一个明显成功的结果:

代码语言:javascript
复制
StatusCode        : 200
StatusDescription : OK
Content           : {255, 216, 255, 224...}
RawContent        : HTTP/1.1 200 OK
                Access-Control-Expose-Headers: Content-Length
                Content-Disposition: inline;filename=""
                Vary: Origin
                Access-Control-Allow-Origin: *
                X-Content-Type-Options: nosniff
                X-XSS-Protection...
Headers           : {[Access-Control-Expose-Headers, Content-Length], [Content-Disposition, inline;filename=""],
                [Vary, Origin], [Access-Control-Allow-Origin, *]...}
RawContentLength  : 31273

一旦此过程完成,我就不会在桌面上看到任何新的文件。

但是,此代码确实有效:

代码语言:javascript
复制
wget https://picsum.photos/200 -O image.jpg

那是怎么回事?为什么wget不单独下载该文件?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2017-04-19 16:30:14

wget的Powershell实现不是wget。因此,它的行为不像UNIX/Linux实用程序wget

作为指出的user4556274,Powershell使用wgetcurl作为自己的Invoke-WebRequest的别名。

看看这个(或者在Powershell下运行Get-Help wget ),可以看到-O [filename]标志是-Output [filename]的一个可接受的缩写,而Invoke-WebRequest [URI]实际上返回一个表示网页的对象,而不是从URL的basename中写入一个文件。

因此,这将返回"nothing“,除非您将其赋值给一个变量,或者将其传递给另一个命令:

代码语言:javascript
复制
wget http://example.net/path/to/page.html

但这提供了一个“如预期”的网页:

代码语言:javascript
复制
wget http://example.net/path/to/page.html -O page.html
票数 20
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/359972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档