连接到 https 页面时 wget 速度慢

连接到 https 页面时 wget 速度慢

Slow wget speeds when connecting to https pages

我正在使用 wget 连接到这样的安全站点:

wget -nc -i inputFile

其中 inputeFile 由如下 URL 组成:

https://clientWebsite.com/TheirPageName.asp?orderValue=1.00&merchantID=36&programmeID=92&ref=foo&Ofaz=0

此页面返回一个小 gif 文件。出于某种原因,这大约需要 2.5 分钟。当我将相同的 URL 粘贴到浏览器中时,我会在几秒钟内得到响应。

有人知道是什么原因造成的吗?

顺便说一下,wget 的版本是"GNU Wget 1.9 cvs-stable (Red Hat modified)"


我知道这是一岁了,但这个确切的问题困扰了我们好几天。
原来它是我们的 DNS 服务器,但我通过在我的盒子上禁用 IP6 来解决它。

您可以在更改系统之前通过在命令末尾添加 "--inet4-only" 来测试它(不带引号)。


  • 尝试伪造你的 UserAgent

    1
    -U"Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-GB; rv:1.9.0.1) Gecko/2008070206 Firefox/3.0.1"
  • 禁用证书检查(慢)

    1
    --no-check-certificate
  • 通过启用详细程度来调试发生的事情

    1
    -v
  • 无需 DNS 查找:

    在您的 HOSTS 文件中硬编码他们的 IP 地址

    1
    2
    /etc/hosts
    123.122.121.120  foo.bar.com

  • 您是否尝试过使用 strace/dtrace/truss 分析请求(取决于您的平台)?

    有各种各样的问题可能会导致这种情况。 wget 正在使用什么版本的 openssl - 那里可能存在问题。这是在什么操作系统上运行(完整的信息在那里很有用)。

    由于站点上实施的 wget 传递代理 ID 以减少蜘蛛的影响,因此可能会强制执行某种形式的下载减速。

    wget 是否执行完整的证书验证?您是否尝试过使用 --no-check-certificate?


    一个有效的解决方案是删除https:\\\\
    这将我的下载速度提高了大约 100 倍。

    例如,您想通过以下方式下载:

    1
    wget https://data.keithito.com/data/speech/LJSpeech-1.1.tar.bz2

    您可以交替使用以下命令来加速。

    1
    wget data.keithito.com/data/speech/LJSpeech-1.1.tar.bz2

    客户站点上的证书是否有效?如果它是自签名证书,您可能需要指定 --no-certificate-check。

    用于 wget

    的 HTTPS (SSL/TLS) 选项


    推荐阅读