1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | #include "rss.h" #include <QNetworkAccessManager> #include <QNetworkReply> #include <QSqlDatabase> #include <QSqlQuery> #include <QTimer> #include <QDateTime> #include <QXmlStreamReader> #include <QUrl> #include <QDebug> #include <QTextDocument> #include <QtNetwork> rss::rss() { manager=new QNetworkAccessManager(this); connect(manager,SIGNAL(finished(QNetworkReply*)),this,SLOT(finishedSlot(QNetworkReply*))); updateRss(); } rss::~rss() { delete manager; } void rss::updateRss() { QString tempStr="https://www.facebook.com/feeds/page.php?format=rss20&id=434617896555070"; //QString tempStr="http://www.facebook.com/"; //QString tempStr="http://blog.rss.naver.com/remocon33.xml"; manager->get(QNetworkRequest(QUrl(tempStr))); } void rss::finishedSlot(QNetworkReply *reply) { QString tempUrl=reply->url().toString(); qDebug()<<tempUrl; QString text=QString::fromUtf8(reply->readAll()); qDebug()<<"text:"<<text; } |
다음과 같이 QNetworkAccessManager 클래스를 이용하여 https://로 시작하는 주소의 정보를 얻어온다고 했을때 다음과 같은 에러가 발생할 수 있습니다.
QSslSocket: cannot call unresolved function SSLv3_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error
이 에러는 OpenSSL을 설치하지 않았기 때문에 발생하는 에러입니다. 따라서 OpenSSL을 설치하면 문제가 해결됩니다.
http://slproweb.com/products/Win32OpenSSL.html
다음 사이트에 접속해서 Win32 OpenSSL Light 버전을 설치합니다. 32비트 사용자든 64비트 사용자든 win32로 설치해줍니다.
그리고 프로그램을 컴파일하고 실행하면 제대로 실행이 됩니다.
'컴퓨터 공학 > Qt' 카테고리의 다른 글
[ Qt 프로그래밍 ] 배경화면에서 자동으로 공튀기는 프로그램 (0) | 2015.11.27 |
---|---|
[ Qt 프로그래밍 ] 간단한 공 튀기는 시뮬레이션 (0) | 2015.11.27 |
[ Qt 프로그래밍 ] Qt가 설치되어 있지 않은 우분투나 CentOS에서 QT프로그램 실행하기 (0) | 2015.11.27 |
[Qt 프로그래밍 ] 라즈베리파이에서 Qt 설치 및 실행방법 (0) | 2015.11.27 |
[Qt 프로그래밍] 우분투에서 컴파일한 Qt 프로그램 CentOS에서 실행하기 (0) | 2015.11.27 |