zoukankan      html  css  js  c++  java
  • qt http get post实现

    pro文件

    greaterThan(QT_MAJOR_VERSION, 4):QT += core network
    QT -= gui
    
    TARGET = httpget
    CONFIG += console
    CONFIG -= app_bundle
    
    TEMPLATE = app
    
    SOURCES += main.cpp 
        mynetworkobject.cpp
    
    HEADERS += 
        mynetworkobject.h

    main.cpp

    #include <QCoreApplication>
    #include "mynetworkobject.h"
    
    int main(int argc, char *argv[])
    {
        QCoreApplication a(argc, argv);
    
        MyNetworkObject *networkObj = new MyNetworkObject();
        networkObj->get(url);
    
        return a.exec();
    }
    

      

    mynetworkobject.h

    #ifndef MYNETWORKOBJECT_H
    #define MYNETWORKOBJECT_H
    
    #include <QObject>
    #include <QNetworkAccessManager>
    #include <QUrl>
    #include <QNetworkRequest>
    #include <QNetworkReply>
    #include <QDebug>
    //#include <QImageReader>
    
    class MyNetworkObject : public QObject
    {
        Q_OBJECT
    public:
        explicit MyNetworkObject(QObject *parent = 0);
        void get(QUrl url);
    public slots:
        void finishedSlot(QNetworkReply *reply);
    signals:
    private:
        QNetworkAccessManager *networkAccessManager;
    };
    #endif // MYNETWORKOBJECT_H

    mynetworkobject.cpp

    #include "mynetworkobject.h"
    #include <QDebug>
    
    MyNetworkObject::MyNetworkObject(QObject *parent) : QObject(parent) {
        networkAccessManager = new QNetworkAccessManager(this);
        QObject::connect(networkAccessManager, SIGNAL(finished(QNetworkReply *)), this, SLOT(finishedSlot(QNetworkReply *)));
    }
    void MyNetworkObject::get(QUrl url) {
        qDebug()<<"get "<<url;
        const QNetworkRequest request = QNetworkRequest(url);
        networkAccessManager->get(request);
    
    }
    void MyNetworkObject::finishedSlot(QNetworkReply *reply) {
    
        if(reply->error() == QNetworkReply::NoError) {;
            qDebug()<<"NoError";
            QByteArray buffer = reply->readAll();
            QString str = QString::fromUtf8(buffer);
            qDebug()<<str;
        } else {
            qDebug()<<reply->errorString();
        }
        reply->deleteLater();
    } 
  • 相关阅读:
    python有哪些关键字?让他自己“吐”出来!
    jquery获取表单元素与回显
    前端开发笔记--flex布局
    Vue-Quill-Editor回显不显示空格的处理办法
    react项目中antd组件库的使用需要注意的问题
    React Native 列表的总结
    是时候了解React Native了
    Android 整合实现简单易用、功能强大的RecyclerView
    linux centos 一键安装环境
    推翻自己和过往,重学自定义View
  • 原文地址:https://www.cnblogs.com/Malphite/p/14959929.html
Copyright © 2011-2022 走看看