QT打开一个网页,并获取网页内容,该怎么处理
QT打开一个网页,并获取网页内容
我想打开一个网页,并获取网页内容。但为什么我得到的数据为空? 代码如下:
代码来源:http://blog.****.net/small_qch/article/details/7200271
------解决思路----------------------
帮结帖。
------解决思路----------------------
还没结吧,呵呵
------解决思路----------------------
恭喜楼主,等结贴。
我想打开一个网页,并获取网页内容。但为什么我得到的数据为空? 代码如下:
#include <QtCore>
#include <QtNetwork>
//网页地址
const QString URLSTR = "http://www.****.net/";
//储存网页代码的文件
const QString FILE_NAME = "code.html";
int main(int argc, char **argv)
{
QCoreApplication app(argc, argv);
QUrl url(URLSTR);
QNetworkAccessManager manager;
QEventLoop loop;
QTextCodec *codec;
QNetworkReply *reply;
qDebug() << "Reading html code form " << URLSTR;
reply = manager.get(QNetworkRequest(url));
//请求结束并下载完成后,退出子事件循环
QObject::connect(reply, SIGNAL(finished()), &loop, SLOT(quit()));
//开启子事件循环
loop.exec();
//获取源码,打开文件
QFile file(FILE_NAME);
if( !file.open(QIODevice::WriteOnly | QIODevice::Text) )
{
qDebug() << "Cannot open the file: " << FILE_NAME;
return 0;
}
QTextStream out(&file);
QString codeContent = reply->readAll();
//将获取到的网页源码写入文件
//一定要注意编码问题,否则很容易出现乱码的
codec = QTextCodec::codecForHtml(codeContent.toAscii());
codeContent = codec->toUnicode(codeContent.toAscii());
out.setCodec(codec);
out << codeContent << endl;
file.close();
qDebug() << "Finished, the code have written to " << FILE_NAME;
return 0;
}
代码来源:http://blog.****.net/small_qch/article/details/7200271
------解决思路----------------------
帮结帖。
------解决思路----------------------
还没结吧,呵呵
------解决思路----------------------
恭喜楼主,等结贴。