我对当前版本的 Qt5 开源统一 Windows 安装程序(安装程序版本 3.1.1)(通过https://www.qt.io/download-qt-installer)有疑问。当安装程序尝试下载元数据时,我收到以下错误:
有时它会识别不同的文件。
所以我深入研究了一下,发现这个文件可以通过我的浏览器很好地访问。
我用谷歌搜索了错误信息,发现其他几个人也有这个问题,但他们已经死了,没有回复的论坛帖子。
因此,我启动了 Fiddler 以查看发生了什么,并注意到安装程序似乎正在使用包含 的参数字符串(除了 cookie)来请求文件X-OpenDNS-Session
,如下所示:
GET http://qt.mirror.constant.com/online/qtsdkrepository/windows_x86/desktop/tools_cmake/qt.tools.cmake.win64/3.16.0-201912051042meta.7z?X-OpenDNS-Session=_82fd696d073c304a200860e03c7b0d51ee4d9270ef58_5G08M6i7_ HTTP/1.1
Cookie: X-OpenDNS-Session=387953a90fab404cdb0894406a533cb8782b9270ef41_pmc3gM1a
Connection: Keep-Alive
Accept-Encoding: gzip, deflate
Accept-Language: en-US,*
User-Agent: Mozilla/5.0
Host: qt.mirror.constant.com
对此的响应是302 重定向回相同的路径,但没有参数字符串:
HTTP/1.1 302 Moved Temporarily
Server: Cisco Umbrella
Date: Fri, 27 Dec 2019 16:44:20 GMT
Content-Type: text/html
Content-Length: 192
Connection: keep-alive
Location: /online/qtsdkrepository/windows_x86/desktop/tools_cmake/qt.tools.cmake.win64/3.16.0-201912051042meta.7z
<html>
<head><title>302 Found</title></head>
<body bgcolor="white">
<center><h1>302 Moved Temporarily</h1></center>
<hr><center>Umbrella Cloud Security Gateway</center>
</body>
</html>
而且我想安装程序不仅会转到该 URL,而是会看到基本 URL 相同并将其报告为重定向循环(这似乎是一个错误,但我无法直接解决我不认为的问题)。
有谁知道如何解决这个问题,或者发生了什么?
我真的不知道 OpenDNS 是什么以及为什么要插入该参数;我做了少量的研究,至少确定它似乎不是我的机器上安装的其他服务,我认为它已经嵌入到安装程序中(虽然我没有在 EXE 中找到那个 cookie 名称,而且这似乎表明没有多少人有这个问题;另外,我在其他系统上安装了很多次 Qt,我自己也从未遇到过)。
这是在新联想机器上安装的 Windows 10 Pro;系统上唯一安装的其他主要软件是 VS 2019、Eclipse、Unity 和 Android Studio。唯一预装的软件是 Lenovo Vantage——这台机器足够干净,不需要“毁坏”。
笔记:
- 如果我在 Chrome 中手动添加参数并使用
curl
(并且,可以肯定的是,我在运行和不运行 Fiddler 的情况下得到它),我仍然会得到重定向。如果其他人想尝试:- 在 chrome 中打开开发工具 -> 网络选项卡。
- 访问http://qt.mirror.constant.com/online/qtsdkrepository/windows_x86/desktop/tools_cmake/qt.tools.cmake.win64/3.16.0-201912051042meta.7z?X-OpenDNS-Session=_82fd696d073c304a200860e03c7_b0d51ee4d6927
- 看看它是否得到了 302,然后最终请求了没有查询参数的文件。
- qt.mirror.constant.com在我的机器上解析为146.112.239.248 。
- ✅更新:我刚刚发现当通过不同的网络(小区系绳)连接时,我没有得到重定向(因此安装程序工作)。镜像在此网络上解析为2001:19f0:1595:1403::1097 。我仍然不知道原因,但这至少是一种解决方法。安装完成后,我将把它变成一个答案(尽管一个不令人满意的答案),并且我得到了一些更具体的信息。