Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1


Dzięcioł



Czy mógłby mi ktoś wyjaśnić w jaki sposób w tym *!%@$ie można wyłączyć SSLSocket? Ponieważ non stop mi się wtrynia, że nie można połączyć się za pomocą SSL.
QNetworkReply *replay; QNetworkAccessManager *mgr = new QNetworkAccessManager(); mgr->setNetworkAccessible(QNetworkAccessManager::Accessible); replay = mgr->get(QNetworkRequest(QUrl(url))); MainWindow *form = new MainWindow(); form->ui->textBrowser->setText(replay->readAll());
plik *.pro
QT += core gui webkitwidgets xml network DEFINES += QT_NO_SSL CONFIG -= no-openssl ...
Error
qt.network.ssl: QSslSocket: cannot resolve SSL_set_psk_client_callback
qt.network.ssl: QSslSocket: cannot resolve TLSv1_1_client_method
qt.network.ssl: QSslSocket: cannot resolve TLSv1_2_client_method
qt.network.ssl: QSslSocket: cannot resolve TLSv1_1_server_method
qt.network.ssl: QSslSocket: cannot resolve TLSv1_2_server_method
qt.network.ssl: QSslSocket: cannot resolve SSL_select_next_proto
qt.network.ssl: QSslSocket: cannot resolve SSL_CTX_set_next_proto_select_cb
qt.network.ssl: QSslSocket: cannot resolve SSL_get0_next_proto_negotiated
Nie mogę znaleźć bata na tego (*!&@ja
Aha dodam, że kochana nokia wyrąbała QHttp i w wersji 5 niema :/
Ostatnio edytowany przez jezoo (2015-11-14 19:12:16)
Offline

Użytkownik


Prawdopodobnie to powinno pomóc http://stackoverflow.com/questions/14277694/suppressing-ssl-errors. BTW Nokia już nie posiada Qt.
Offline


Dzięcioł



Ooo, o tym to nie wiedziałem :>
No idalej mam lipe...
qWarning() << "Slot uruchomiony";
QList<QSslError> sslError;
QNetworkReply *reply;
QNetworkAccessManager *mgr = new QNetworkAccessManager();
qWarning()<<"Uruchamiam połączenie z serwerem";
mgr->setNetworkAccessible(QNetworkAccessManager::Accessible);
reply = mgr->get(QNetworkRequest(QUrl(url)));
reply->ignoreSslErrors(sslError);
QEventLoop loop;
connect(reply, SIGNAL(finished(QNetworkReply *)), &loop, SLOT(quit()) );
//connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), &loop, SLOT(quit()));
loop.exit();
qWarning() << reply->errorString();
qWarning() << "Wczytywanie odpowiedzi";
QByteArray bts = reply->readAll();
QString str(bts);
delete reply;
MainWindow *form = new MainWindow();
qWarning() << str;
form->ui->textEdit->setText(str);tym razem reply zwraca "Unknown error" :|
Ostatnio edytowany przez jezoo (2015-11-12 10:24:35)
Offline


Dzięcioł



Problem rozwiązałem w inny sposób. Wywaliłem "pomagiera" (czyt. QNetworkAccessManager) i użyłem QTcpSocket.
Wszystko działa jak należy.
Offline

Użytkownik


Trochę inaczej to zrobiłeś z NAM niż tam pisało. Nawet w dokumentacji jest opisane że trzeba tą funkcję wywołać w slocie http://doc.qt.io/qt-5.5/qnetworkaccessmanager.html#sslErrors. Ale skoro zrobiłeś to na czystym sockecie i działa tak jak chcesz to w sumie nie ma tematu ;), a to tak informacyjnie ;).
Ostatnio edytowany przez diabolic (2015-11-16 20:11:16)
Offline


Dzięcioł



robiłem również i na slocie ale nie działało :)
Offline
Strony: 1