Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: QNetworkRequest & ssl
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Ввод/Вывод, Сеть. Межпроцессное взаимодействие
Rocky
Всем привет! Подскажите пожалуйста, что не так. Вот такой код написал, а не работает:

CServerLinker::CServerLinker()
{
.....
m_pManager = new QNetworkAccessManager(this);
    
m_pReplyGET = m_pManager->get(QNetworkRequest(QUrl("https://qt.nokia.com")));
m_pReplyGET->ignoreSslErrors();

QObject::connect(m_pReplyGET, SIGNAL(readyRead()), this, SLOT(OnReadyReadGET()));
QObject::connect(m_pReplyGET, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(OnError(QNetworkReply::NetworkError)));
#ifndef QT_NO_OPENSSL
QObject::connect(m_pReplyGET, SIGNAL(sslErrors(QList<QSslError>)), this, SLOT(OnSslErrors(QList<QSslError>)));
#endif
.......
}

void CServerLinker::OnError(QNetworkReply::NetworkError oNetworkError)
{
//попадаю сюда с ошибкой
//QNetworkReply::UnknownNetworkError    99    an unknown network-related error was detected
}



Если пытаться долбиться не на https://qt.nokia.com, а на http://qt.nokia.com - то все ок, попадаю в слот OnReadyReadGET. Через браузер и https и http открываются нормально.

Спасибо!
Litkevich Yuriy
а у тебя точно Qt с поддержкой SSL собрана?
fsMark
В консоль ругается?
Rocky
Цитата(Litkevich Yuriy @ 11.4.2010, 6:24) *
а у тебя точно Qt с поддержкой SSL собрана?


ну вот в дебаге вот в этот блок я захожу
#ifndef QT_NO_OPENSSL
QObject::connect(m_pReplyGET, SIGNAL(sslErrors(QList<QSslError>)), this, SLOT(OnSslErrors(QList<QSslError>)));
#endif


Стало быть макрос QT_NO_OPENSSL не определен => поддержка есть. Это под виндой - я вообще не компилил, а из пакета ставил (4.6.2).



Цитата
В консоль ругается?

Оказывается да. Воть:
Цитата
QSslSocket: cannot call unresolved function SSLv3_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function ERR_error_string


UPD
Оказывается нужно ставить openSsl чтоли ((


UPD
Ура! Заработало =)
Litkevich Yuriy
Цитата(Rocky @ 11.4.2010, 16:11) *
Оказывается нужно ставить openSsl чтоли
где-то на форуме это уже было, нужно, чтобы dll'ки SSL'а, были доступны через переменную окружения PATH, во время работы приложения.

Плюс вот общие требования
Rocky
Цитата(Litkevich Yuriy @ 11.4.2010, 13:32) *
Цитата(Rocky @ 11.4.2010, 16:11) *
Оказывается нужно ставить openSsl чтоли
где-то на форуме это уже было, нужно, чтобы dll'ки SSL'а, были доступны через переменную окружения PATH, во время работы приложения.

Угу, либо их положить рядом с QtNetwork.dll
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2022 IPS, Inc.