I'm having an issue with the current version of the Qt5 Open Source unified Windows installer (installer version 3.1.1) (via https://www.qt.io/download-qt-installer). When the installer attempts to download meta data I receive the following error:
Redirect loop detected for "http://qt.mirror.constant.com/online/qtsdkrepository/windows_x86/desktop/tools_cmake/qt.tools.cmake.win32/3.16.0-201912051042meta.7z".
Occasionally it identifies a different file.
So I dug into it a bit and found that this file is accessible just fine through my browser.
I Googled for the error message and found a couple other people with the issue but they were dead, unanswered forum posts.
So I fired up Fiddler to see what was going on and noticed that the installer seemed to be requesting the files with a parameter string (in addition to a cookie) containing X-OpenDNS-Session
, like so:
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
And the response to that is a 302 redirect back to the same path but without the parameter string:
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>
And I guess instead of just going to that URL, the installer sees that the base URL is the same and reports it as a redirect loop (which seems like a bug, but I can't address that directly I don't think).
Does anybody know how to work around this, or what's going on?
I have no idea really what OpenDNS is and why that parameter is getting inserted; I did a small amount of research and at least determined that it doesn't seem to be some other service installed on my machine, I think it's baked into the installer (although I didn't find that cookie name in the EXE, and also it seems to be a sign that not many people have this issue; plus I've installed Qt many times on other systems and never ran into it myself, either).
This is a Windows 10 Pro install on a new Lenovo machine; the only other major software installed on the system is VS 2019, Eclipse, Unity, and Android Studio. The only pre-installed software was Lenovo Vantage -- the machine was clean enough to not need "decrapified".
Notes:
- I still get the redirect if I add the parameters manually in Chrome and with
curl
(and, to be sure, I get it with and without Fiddler running). If anybody else wants to try it:- Open dev tools -> Network tab in chrome.
- Visit 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_
- See if it got a 302 then ultimately requested the file without the query parameter.
- qt.mirror.constant.com resolves to 146.112.239.248 on my machine.
- ✅ Update: I've just discovered that I do not get the redirect (and therefore the installer works) when connected through a different network (cell tether). The mirror resolves to 2001:19f0:1595:1403::1097 on this network. I still do not know the cause but it is at least a workaround. I'll form this into an answer (albeit an unsatisfying one) once the install finishes and I get a little more concrete info.