5
SSL 모드에서 웹 페이지에서 보낸 헤더를 읽을 수 있기를 원합니다. 내 Qt 앱은 SSL 모드에 있기 때문에 웹 페이지에 연결할 수 없습니다. SSL에서 일반 웹보기 브라우징 연결이 사용하여 내 응용 프로그램에서 가능하다 :이 웹보기에 SSL 오류를 억제SSL 오류 방지
connect(view->page()->networkAccessManager(), SIGNAL(sslErrors(QNetworkReply*, const QList<QSslError> &)),
this, SLOT(onSslErrors(QNetworkReply*, const QList<QSslError> &)));
그러나 나는이 방법을 사용하여 헤더의 취득 별도의 기능이 있습니다
//Send a request to validate URL
QNetworkAccessManager *manager = new QNetworkAccessManager(this);
QNetworkRequest request;
request.setUrl(QUrl(text));
request.setRawHeader("User-Agent", "MyApp1.0");
request.setHeader(QNetworkRequest::ContentTypeHeader,"application/x-www-form-urlencoded");
QNetworkReply *reply = manager->get(request);
QEventLoop loop;
connect(reply, SIGNAL(finished()), &loop, SLOT(quit()));
loop.exec();
qDebug() << "QLoop: " << reply->rawHeader("My-Application");
if(reply->rawHeader("My-Application") == "1"){
appUrl = text;
}
을 이 메서드는 앱이 webview->load(QURL(appUrl))
을 사용하여 연결하기 전에 webapps URL이있는 config 파일을 설정하기 때문에 필요합니다. QNetworkAccessManager를 사용하여 SSL 오류를 억제/처리하는 방법을 모르십니까?
대단히 고맙습니다. 어딘가에있는 LOL에서 중간에'reply-> ignoreSslErrors(); '를 시도 했으므로 제대로 작동하지 않았습니다. – Kal
빠른 응답을 주셔서 감사합니다. @Nicholas Smith – Kal
처음에는 신호를 내 보낸다는 것을 완전히 무시했다. QNAM을 생성 한 곳에서'reply-> ignoreSslErrors()'를 넣었다. 단순한 실수! –