Qt实现网络数据传输(GET)

来源:互联网 发布:量化买盘指标源码 编辑:程序博客网 时间:2024/05/20 11:24
.pro文件
#-------------------------------------------------
#
# Project created by QtCreator 2016-12-08T11:39:04
#
#-------------------------------------------------
QT       += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = TestQThttp
TEMPLATE = app
SOURCES += main.cpp\
        mainwindow.cpp
HEADERS  += mainwindow.h
FORMS    += mainwindow.ui
QT += network

HttpManager.h
#include <QtNetwork>

HttpManager.cpp

auto network_manager = new QNetworkAccessManager();
QNetworkRequest network_request;

//设置头信息
network_request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");

//设置url
network_request.setUrl(QUrl("http://www.baidu.com"));
 
connect(network_manager, &QNetworkAccessManager::finished, this, &HttpManager::replyFinished);

//发送请求
network_manager->get(network_request);

void HttpManager::replyFinished(QNetworkReply* reply){
//获取响应的信息,状态码为200表示正常
QVariant status_code = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute);

//无错误返回
if(reply->error() == QNetworkReply::NoError)
{
    QByteArray bytes = reply->readAll();  //获取字节
    QString result(bytes);  //转化为字符串
    qDebug()<<result;
}
else
{
    //处理错误
}
 
//收到响应,因此需要处理
delete reply;


}


0 0
原创粉丝点击