QT4.7 웹뷰를 통해 페이지 호출하기
2021. 8. 4. 19:02ㆍ개발/QT
너무 옛날거라서 그런지 인터넷 정보들이 거의다 말소되었다.
이 버전을 쓰던게 2010년대이니 그럴수밖에...
게다가 정보라고 달린 링크들은 노키아 홈페이지인데, 노키아가 망해서 없어졌다
기록보관소 형식으로 남겨보고자 한다.
우선 QWebView를 통해 기본 틀을 만들어야한다.
//main.cpp
#include <QWebView>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWebView *webView = new QWebView();
webView->move(0,0);
webView->resize(1920,1080);
webView->show();
char postStr[32] = {0,};
//sprintf(postStr, "(post파라미터)=(값)", .....);
//예
//sprintf(postStr, "postValue=%d", 50);
QByteArray postData(postStr);
QNetworkRequest qRequest;
///이 부분은 빼먹으면 https호출은 불가능하다.
QSslConfiguration sslConfig = QSslConfiguration::defaultConfiguration();
QList<QSslCertificate> ca_list = sslConfig.caCertificates();
QList<QSslCertificate> ca_new = QSslCetificate::fromData("CaCertificates");
ca_list += ca_new;
sslConfig.setCaCertificates(ca_list);
sslConfig.setProtocol(QSsl::AnyProtocol);
QSslConfiguration::setDefaultConfiguration(sslConfig);
qRequest.setSslConfiguration(sslConfig);
/// 여기까지가 ssl쓸때 필요한부분
qRequest.setUrl(QUrl("호출할 주소"));
qRequest.setHeader(QNetworkRequest::ContentTypeHeader,"application/x-www-form-urlencoded;charset=UTF-8");
webView->postUrl(qRequest, postData);
return a.exec();
}
웹뷰 부분을 따로 클래스로 만들던지해서 리펙토링하면 쓸만해진다.
https호출이 진짜 너무 검색이 안되더라...