wget不支持https


9

我想https://example.com使用该wget命令进行下载,但是它显示为“不支持/无法识别的协议”。我尝试使用,--secure protocol=''但这不起作用。我从GNU wget下载了tar文件,并尝试配置它,但失败了。

这是我所看到的示例:

bash-2.05$ wget https://www.facebook.com/
https://www.facebook.com/: Unknown/unsupported protocol.
bash-2.05$

大家好,谢谢您的回答,我的wget的验证版本如下所示

bash-2.05$ wget -V
GNU Wget 1.6

Copyright (C) 1995, 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

Originally written by Hrvoje Niksic <hniksic@arsdigita.com>.

而且我不知道我的wget是由SSL编译的,还是启用了SSL。您能否让我知道如何编译该wget命令。我尝试运行该configure文件,然后键入make命令,这使我找不到命令错误。即使在运行配置文件后,它也不会给我wget在中创建的任何文件/usr/local/

bash-2.05$ cd wget-1.10.1
bash-2.05$ ./configure --prefix=/usr/local --with-ssl
bash-2.05$ make
bash: make: command not found

我下载的版本是 wget-1.10.1.tar

wget命令版本 配置命令生成的日志


请更新您的问题,以包括正在运行的确切注释和正在显示的确切错误。
史蒂夫2015年

1
另外,您使用什么操作系统和版本?
mjturner

1.由于wget通常需要一个包含文件的URL,因此您想使用wget获得什么?2.您的wget是否带有SSL支持?3. bash-2.05真的是您的bash版本吗?我的是4.3.33。
eyoung100

1
这是嵌入式系统吗?感觉这实际上是的一个busybox版本wget
roaima

1
@roaima我从Busybox收到的消息是wget: not an http or ftp url: …这似乎既不是GNU wget也不是Busybox。无论哪种方式,它显然都不支持HTTPS,解决方案是安装支持HTTPS的其他版本或工具。
吉尔斯(Gillles)“所以-别再邪恶了”

Answers:


8

验证您的wget二进制文件是在启用SSL支持的情况下编译的。当我尝试您给出的命令时,我的输出:

$ wget https://www.facebook.com
--2015-07-19 15:27:17--  https://www.facebook.com/
Resolving www.facebook.com (www.facebook.com)... 31.13.66.1, 2a03:2880:f013:1:face:b00c:0:1
Connecting to www.facebook.com (www.facebook.com)|31.13.66.1|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://www.facebook.com/unsupportedbrowser [following]
--2015-07-19 15:27:18--  https://www.facebook.com/unsupportedbrowser
Reusing existing connection to www.facebook.com:443.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘index.html’

index.html                                                              [ <=>                                                                                                                                                                 ]  29.21K  --.-KB/s   in 0.04s  

2015-07-19 15:27:18 (775 KB/s) - ‘index.html’ saved [29916]

$

如果没有完全合格的URL index.html,则会下载包含标签等的默认页面。通过浏览器查看时,此页面将告诉我的是我的浏览器不受支持,换句话说:我们不支持通过来获取页面wget

$ eix wget

[I] net-misc/wget
     Available versions:  1.16 ~1.16.1 ~1.16.2 ~1.16.3 {debug gnutls idn ipv6 nls ntlm pcre +ssl static test uuid zlib}
     Installed versions:  1.16(11:25:57 AM 07/19/2015)(idn ipv6 nls pcre ssl zlib -debug -gnutls -ntlm -static -test -uuid)
     Homepage:            http://www.gnu.org/software/wget/
     Description:         Network utility to retrieve files from the WWW

每条评论

如果您从未看过基于Gentoo的输出,则这是版本输出的样子(Notice -DHAVE_LIBSSL):

$ wget -V
wget -V
GNU Wget 1.16 built on linux-gnu.

+digest +https +ipv6 +iri +large-file +nls -ntlm +opie -psl +ssl/openssl 

Wgetrc: 
    /etc/wgetrc (system)
Locale: 
    /usr/share/locale 
Compile: 
    x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H 
    -DSYSTEM_WGETRC="/etc/wgetrc" -DLOCALEDIR="/usr/share/locale" -I. 
    -I../lib -I../lib -DHAVE_LIBSSL -march=amdfam10 -O2 -pipe 
Link: 
    x86_64-pc-linux-gnu-gcc -DHAVE_LIBSSL -march=amdfam10 -O2 -pipe 
    -Wl,-O1 -Wl,--as-needed -lpcre -lssl -lcrypto -lz -lidn ftp-opie.o 
    openssl.o ../lib/libgnu.a 

Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://www.gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Originally written by Hrvoje Niksic <hniksic@xemacs.org>.
Please send bug reports and questions to <bug-wget@gnu.org>.

请注意,基于基于Gentoo的输出中ssl在“ Installed Versions”行中不包含减号,这意味着我已经在我的Gentoo框中编译了SSL支持。为了更进一步,请您随分布更新您的问题。


wget -V应该包含显示https支持的行。在我的Mint 17上,默认安装为退货+digest +https +ipv6 +iri +large-file +nls +ntlm +opie +ssl/openssl
Steve

@steve我要加上一个提示wget -V ,因为他的bash版本是2.05 ...
eyoung100

2

尝试删除“ s” ...我的意思是只使用http。

大多数情况下,有一个从http重定向到有效的https重定向,而wget似乎可以使用它。

在浏览器中用简单的http地址,如果重定向到https,则wget可能会起作用。

所以.. wget http://example.com/file


2

如果其他任何人在vmWare ESXi或其他BusyBox环境中遇到此错误,则实际上并没有使用wget

来自wget -V我的输出:

wget: invalid option -- 'V'
BusyBox v1.22.1 (2018-07-23 19:34:44 PDT) multi-call binary.

Usage: wget [-csq] [-O FILE] [-Y on/off] [-P DIR] [-U AGENT] URL...

Retrieve files via HTTP or FTP

    -s  Spider mode - only check file existence
    -c  Continue retrieval of aborted transfer
    -q  Quiet
    -P DIR  Save to DIR (default .)
    -O FILE Save to FILE ('-' for stdout)
    -U STR  Use STR for User-Agent header
    -Y  Use proxy ('on' or 'off')

所以你很不走运。使用其他方法(例如,SCP)从您的工作站传输文件。


wget在ESXi 6.7 Update 2之后支持https over
Dario Zadro

也许解决方案只是创建一个新的VM并使用Linux LiveCD引导它。启动后,登录到VM,然后使用cURL或wget下载所需的任何内容。在ESXi上,启用ssh,然后将文件从VM分发到ESXi。我刚做完就可以了。这是一个两步过程,但是如果您不在同一网络上并且文件很大,这将非常有帮助
Eduar
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.