C++ 无法使用QNetworkAccessManager通过HTTPS检索页面内容
我正在尝试连接到HTTPS网站,例如Netflix,但无法检索页面内容。我的文件夹和.pro中有OpenSSL库,但我不知道出了什么问题。谢谢你抽出时间 错误的屏幕截图: .pro的屏幕截图: 如您所见,控制台是空的 守则:C++ 无法使用QNetworkAccessManager通过HTTPS检索页面内容,c++,qt,qnetworkaccessmanager,C++,Qt,Qnetworkaccessmanager,我正在尝试连接到HTTPS网站,例如Netflix,但无法检索页面内容。我的文件夹和.pro中有OpenSSL库,但我不知道出了什么问题。谢谢你抽出时间 错误的屏幕截图: .pro的屏幕截图: 如您所见,控制台是空的 守则: void get_page(){ QEventLoop eventLoop; QNetworkAccessManager mgr; QObject::connect(&mgr, SIGNAL(finished(QNetworkReply*
void get_page(){
QEventLoop eventLoop;
QNetworkAccessManager mgr;
QObject::connect(&mgr, SIGNAL(finished(QNetworkReply*)), &eventLoop, SLOT(quit()));
QSslConfiguration sslConfig = QSslConfiguration::defaultConfiguration();
sslConfig.setProtocol( QSsl::SslV3 );
QSslConfiguration::setDefaultConfiguration(sslConfig);
QNetworkRequest req(QUrl(QString("https://www.netflix.com/globallogin")));
req.setHeader(QNetworkRequest::UserAgentHeader, "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.101 Safari/537.36 OPR/25.0.1614.50");
req.setRawHeader("Host", "www.netflix.com");
QNetworkReply *reply = mgr.get(req);
eventLoop.exec();
QString data = reply->readAll();
if (reply->error() == QNetworkReply::NoError) {
qDebug(data.toUtf8().constData());
} else {
qDebug() << "Failure" <<reply->errorString();
delete reply;
}
}
这个问题真的与HTTPS/SSL有关吗?我这样问是因为我无法想象上面的代码片段通过纯文本连接成功下载网页。你在Windows上吗?如果是,您是否使用SSL支持构建了Qt?由于Windows策略的原因,默认情况下Windows Qt上未配置SSL支持。你能给我一个https的示例吗,我不知道怎么做