FollowRedirectsAttribute против RedirectPolicyAttribute против RedirectPolicy в QT

Я пытался реализовать QNetworkRequest::UserVerifiedRedirectPolicy, и это моя текущая установка, без использования каких-либо перенаправлений,

auto request = QNetworkRequest(QUrl(url));
request.setAttribute(QNetworkRequest::HTTP2AllowedAttribute, true);
request.setAttribute(QNetworkRequest::HttpPipeliningAllowedAttribute, true);
request.setPriority(QNetworkRequest::HighPriority);
request.setRawHeader("User-Agent", "REDIR-TESTS");
request.setRawHeader("Accept-Language", "en,*");
request.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);
request.setSslConfiguration(*net::NetworkManager::instance()->sslConfiguration());

При просмотре SO, например, нашел этот вопрос: Следуйте перенаправлениям в QT5.5 Согласно OP здесь, перенаправление URL-адресов в QT5.6+ работает, просто установив QNetworkRequest::FollowRedirectsAttribute.

Согласно документу, политика перенаправления QT6 по умолчанию — NoLessSafeRedirectPolicy, и для нее требуется слот redirected. Значит ли это, что в QT5.6+ перенаправление работает автоматически без использования слота QNetworkReply::redirected()?

Я не смог найти ни одного документа, объясняющего поведение, ни хорошего примера реализации UserVerifiedRedirectPolicy, хотя я нашел один, реализующий его в QT4, здесь QNetworkAccessManager не обрабатывает код состояния HTTP 308, но я не хочу использовать способ QT4, если это возможно, есть идеи?


person Jimson Kannanthara James    schedule 12.04.2021    source источник