Общий ответ, который вы можете найти повсюду, состоит в том, чтобы использовать Signal authenticationRequired(QNetworkReply*, QAuthenticator*)
, а затем ввести учетные данные для входа в данный объект QAuthenticator.
Однако в моем случае это не работает, поскольку этот сигнал никогда не излучается. Причина: сервер не возвращает ошибку авторизации, а вместо этого перенаправляет меня на страницу входа. Так что моя программа просто загрузит эту страницу.
Я узнал, как это поймать, проверив атрибут QNetworkRequest::RedirectionTargetAttribute
QNetworkReply. Таким образом, я могу обнаружить перенаправление и запросить у пользователя информацию об авторизации.
Но... куда мне идти оттуда? Как установить данные аутентификации? Могу ли я вручную установить QAuthenticator для моего QNetworkRequest или моего QNetworkAccessManager? Я нигде не нашел способа сделать это, только через вышеупомянутый механизм сигнала/слота, который не работает, потому что он не срабатывает.
Любая помощь будет принята с благодарностью!