crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> QNetworkRequest & ssl
Rocky
  опции профиля:
сообщение 11.4.2010, 0:22
Сообщение #1


Старейший участник
****

Группа: Участник
Сообщений: 530
Регистрация: 22.12.2008
Из: Санкт-Петербург
Пользователь №: 463

Спасибо сказали: 22 раз(а)




Репутация:   7  


Всем привет! Подскажите пожалуйста, что не так. Вот такой код написал, а не работает:

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 открываются нормально.

Спасибо!

Сообщение отредактировал Rocky - 11.4.2010, 0:23
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 11.4.2010, 5:24
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


а у тебя точно Qt с поддержкой SSL собрана?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
fsMark
  опции профиля:
сообщение 11.4.2010, 9:50
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 97
Регистрация: 23.4.2008
Из: г. Киров
Пользователь №: 155

Спасибо сказали: 10 раз(а)




Репутация:   1  


В консоль ругается?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Rocky
  опции профиля:
сообщение 11.4.2010, 12:11
Сообщение #4


Старейший участник
****

Группа: Участник
Сообщений: 530
Регистрация: 22.12.2008
Из: Санкт-Петербург
Пользователь №: 463

Спасибо сказали: 22 раз(а)




Репутация:   7  


Цитата(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
Ура! Заработало =)


Сообщение отредактировал Rocky - 11.4.2010, 12:35
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 11.4.2010, 12:32
Сообщение #5


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


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

Плюс вот общие требования
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Rocky
  опции профиля:
сообщение 11.4.2010, 12:36
Сообщение #6


Старейший участник
****

Группа: Участник
Сообщений: 530
Регистрация: 22.12.2008
Из: Санкт-Петербург
Пользователь №: 463

Спасибо сказали: 22 раз(а)




Репутация:   7  


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

Угу, либо их положить рядом с QtNetwork.dll
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 19.3.2024, 7:49