#include "webinfo.h" WebInfo::WebInfo(QWidget* parent) : SyncHttp(parent) { qDebug() << QSslSocket::sslLibraryBuildVersionString(); } QString WebInfo::getTitle(QString url) { QByteArray ret; getHtmlData(url, ret); //qDebug() << code; QTextCodec::codecForHtml(ret); QString s = ret; QRegExp reg(".{1,}"); for (int i = 0; i = reg.indexIn(s, i), i >= 0; i += reg.matchedLength()) { QString s = reg.cap(0); s = s.replace("", ""); s = s.replace("", ""); return s; } return ""; } QImage WebInfo::getFavicon(QString url, bool& isBmp) { QUrl u(url); QString protocol; if (url.indexOf("https") >= 0) { protocol = "https://"; } else { protocol = "http://"; } QString hostUrl = protocol + u.host() + "/favicon.ico"; qDebug() << hostUrl; QByteArray ret; QImage img; int code = getHtmlData(hostUrl, ret); if (ret.size() == 0) { code = 0; } if (code == 200) { QBuffer buf(&ret); isBmp = this->isBmp(ret); if (isBmp) { img.load(&buf, "bmp"); } else { img.load(&buf, "ico"); } } return img; } bool WebInfo::isBmp(QByteArray& data) { if ((data[0] == 'B') && (data[1] == 'M')) { return true; } else { return false; } }