Я работаю над проектом, в котором пытаюсь отправить запрос на наш веб-сервис через запросы REST. Сначала я подключил только сигнал finished(QNetworkReply*)
к слоту, но, поскольку он так и не был завершен из-за проблем с ssl, я также попытался подключить слот sslErrors(QNetworkReply*, const QList<QSslError>&)
, поскольку запрос https.
connect(&_accessManager, SIGNAL(sslErrors(QNetworkReply*, const QList<QSslError>&)),
this, SLOT(printSslErrors(QNetworkReply*, const QList<QSslError>&)));
Затем в моей функции печати я никак не могу получить доступ к списку ошибок.
void AssetManager::printSslErrors(QNetworkReply *reply, const QList<QSslError>& errors) {
...
}
Я пробовал:
const QSslError test = errors.at(0); // error on 'test'
QSslError test = errors.at(0); // error on 'test'
or
foreach(QSslError error, errors) {
qDebug() << error.errorString(); // error on 'errors'
}
for(int i = 0; i < errors.count(); i++) {
qDebug() << errors.at(i).errorString(); // error on 'errors'
}
что приводит к:
ошибка C2079: «тест» использует неопределенный класс «QSslError»
ошибка C2440: «инициализация»: невозможно преобразовать «const QSslError» в «int»
or
ошибка C2027: использование неопределенного типа "QSslError"
ошибка C2228: слева от ".toString" должен быть class/struct/union
также, что IntelliSense подчеркивает errors
или test
сообщением:
IntelliSense: неполный тип не допускается
(Обратите внимание, что он не жалуется, когда я делаю errors.count()
)
Я включаю <QSslError>
в файл заголовка...
Я довольно много боролся с сигналом sslError, и несколько недель назад я даже не смог подключить сигнал к чему-либо, поскольку он «не существует». Я пропустил модуль или что-то?
Спасибо за вашу помощь
Редактировать:
Все еще получаю ошибку:
Object::connect: Нет такого сигнала QNetworkAccessManager::sslErrors(QNetworkReply*, const QList&)
Кроме того, не могу проверить, есть ли у меня SSL
qDebug() << QSslSocket::supportsSsl();
Поскольку QSslSocket не определен, даже если он включен. Это должно быть что-то важное, что мне здесь не хватает, верно? Должен ли я что-то установить? Я тут совсем запутался :(