wget은 https를 지원하지 않습니다

wget은 https를 지원하지 않습니다

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 <[email protected]>.

내 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 명령 버전 구성 명령으로 생성된 로그

답변1

해결책

wgetSSL 지원이 활성화된 상태에서 바이너리가 컴파일되었는지 확인하세요 . 당신이 준 명령을 시도했을 때의 결과는 다음과 같습니다.

$ 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

댓글당

젠투 기반 출력을 본 적이 없다면 버전 출력은 다음과 같습니다(참고 -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 <[email protected]>.
Please send bug reports and questions to <[email protected]>.

ssl에는 젠투 기반 출력의 설치된 버전 행에 빼기 기호가 포함되어 있지 않다는 점에 유의하십시오. 이는 내 젠투 시스템에서 SSL 지원을 컴파일했음을 의미합니다. 더 나아가려면 배포판으로 질문을 업데이트하십시오.

답변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와 같은 다양한 방법을 사용하여 워크스테이션에서 파일을 전송하세요.

답변3

"s"를 제거해 보세요. 그냥 http를 사용한다는 뜻입니다.

대부분의 경우 http에서 https 활성으로의 리디렉션이 있으며 wget이 이를 통해 작동하는 것 같습니다.

일반 http를 사용하여 브라우저에 주소를 입력하세요. https로 리디렉션되면 wget이 작동할 수 있습니다.

그래서..wget http://example.com/file

관련 정보