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
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
Prawdopodobnie to powinno pomóc http://stackoverflow.com/questions/14277694/suppressing-ssl-errors. BTW Nokia już nie posiada Qt.
Offline
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
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
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
robiłem również i na slocie ale nie działało :)
Offline
Strony: 1