首页 > Web开发 > 详细

使用Qt访问网站的基本例子

时间:2020-04-29 18:45:17      阅读:84      评论:0      收藏:0      [点我收藏+]

在本例子中需要使用以下几个类:

<QNetworkAccessManager>
<QNetworkReply>
<QNetworkRequest>

 

使用方式:

1.在源文件中添加这个头文件:

#include <QtNetwork>

如果提示没有这个头文件,请先执行第二步,并保存.pro文件。

2.在.pro项目文件中添加以下代码:

QT += network

 

源码:

#include <QCoreApplication>
#include "TestNet.h"

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    TestNet One;
    One.GetWeb();

    return a.exec();
}

//main.cpp
#include <QtNetwork>
#include <iostream>
#include <QFile>

class TestNet : public QObject
{
    Q_OBJECT
public:
    QNetworkAccessManager *m_manager = NULL;
    QNetworkRequest *m_request = NULL;

    //访问网站
    void GetWeb()
    {
        //建立新对象
        m_manager = new QNetworkAccessManager();
        m_request = new QNetworkRequest(QUrl("http://www.baidu.com/"));

        //连接槽
        QObject::connect(m_manager,&QNetworkAccessManager::finished,this,&TestNet::GetWebFinished);

        //发送Get请求
        m_manager->get(*m_request);
    }

    //访问后做的操作
    void GetWebFinished(QNetworkReply *reply)
    {
        //转换为utf-8编码,这样就可以显示中文了
        QTextCodec *codec = QTextCodec::codecForName("utf8");
        QString getData = codec->toUnicode(reply->readAll());

        //输出文件
        QFile out_file("One.html");
        out_file.open(QIODevice::Text | QIODevice::WriteOnly);

        out_file.write(getData.toUtf8());

        out_file.close();
    }

};

//TestNet.h

 

使用Qt访问网站的基本例子

原文:https://www.cnblogs.com/BlogPuppet/p/12803676.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!