我正在尝试通过Cygwin使用wget
从https网站获取一些内容。不幸的是,当我尝试连接时,我收到以下错误:
#wget https://www.mysite.com/mycontent
Connecting to XXXXXXXX... connected.
GnuTLS: A TLS fatal alert has been received.
Unable to establish SSL connection.
证书是VeriSign Class 3,未过期。我尝试过使用选项--no-check-certificate
,--secure-protocol=SSLv2
,--secure-protocol=SSLv3
等不起作用,但会出现稍微不同的错误:
$ wget --secure-protocol=SSLv3 --no-check-certificate https://www.mysite.com/mycontent
Connecting to XXXXXX... connected.
GnuTLS: GnuTLS internal error.
Unable to establish SSL connection.
我还尝试在我的电脑上从Internet Explorer导出DER证书,然后将该证书传递给也失败的wget:
$ wget --certificate-type=DER --certificate=mysite.cer https://www.mysite.com/mycontent
Connecting to XXXXX... connected.
GnuTLS: A TLS fatal alert has been received.
Unable to establish SSL connection.
我有什么遗失的东西吗?任何人都可以指出我要做的工作方向吗?
很抱歉,但出于雇主保密原因,我不得不编辑真实的服务器信息。
这是我的wget / cygwin配置信息:
$ wget --version
GNU Wget 1.13.4 built on cygwin.
+digest +https +ipv6 +iri +large-file +nls -ntlm +opie +ssl/gnutls
Wgetrc:
/etc/wgetrc (system)
Locale: /usr/share/locale
Compile: gcc-4 -DHAVE_CONFIG_H -DSYSTEM_WGETRC="/etc/wgetrc"
-DLOCALEDIR="/usr/share/locale" -I.
-I/usr/src/wget-1.13.4-1/src/wget-1.13.4/src -I../lib
-I/usr/src/wget-1.13.4-1/src/wget-1.13.4/lib -g -O2 -pipe
Link: gcc-4 -g -O2 -pipe -liconv -lintl /usr/lib/libgnutls.dll.a
/usr/lib/libtasn1.dll.a /usr/lib/libz.dll.a
/usr/lib/libgcrypt.dll.a /usr/lib/libgpg-error.dll.a
/usr/lib/libintl.dll.a -L/usr/lib/ncursesw /usr/lib/libiconv.dll.a
-lgcrypt -lgpg-error -lz -lidn ftp-opie.o gnutls.o ../lib/libgnu.a
答案 0 :(得分:1)
我在IIS框中尝试wget
时遇到过这种情况。有一个IIS错误,错误地处理SSL请求。浏览器忽略它,wget没有。
如果我没记错(这已经是几年了),有一个wget设置告诉它忽略SSL证书错误......也许它是--sslcheckcert
选项。尝试使用--sslcheckcert=0
。