zoukankan      html  css  js  c++  java
  • 使用Qt访问网站的基本例子

    我使用Qt版本是Qt5.14.0

    注:本例子只能用Http协议,如果要使用Https协议,请查看这篇文章:《Qt使用HTTPS协议访问网站

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

    <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
  • 相关阅读:
    AOP在Spring Boot中如何使用
    拦截器在Spring Boot中如何使用
    跨域在Spring Boot中如何处理
    @ControllerAdvice
    文件上传之Spring Boot整合web层
    Git和GitHub
    Spring Boot 整合web层之JSON,gson,fastjson的使用
    Spring boot整合视图层
    Spring Boot中的parent是什么?
    网页自动化,验证码识别函数,深度学习训练
  • 原文地址:https://www.cnblogs.com/BlogPuppet/p/12803676.html
Copyright © 2011-2022 走看看