QNetworkAccessManager发起Http请求

    manager = new QNetworkAccessManager(this);
    connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(showTextFromWeb(QNetworkReply*)));//http响应
    this->connect(ui->refresh, SIGNAL(clicked()), this, SLOT(showText()));  //确认请求地址,发起http请求


void LoginHttp::showText()
{
    QString url = ui->url_edit->text();
    reply = manager->get(QNetworkRequest(QUrl(url)));
}


void LoginHttp::showTextFromWeb(QNetworkReply *reply)
{
    QJsonParseError jsonError;
//    qDebug()<<QString(reply->readAll());

    QJsonDocument doucment = QJsonDocument::fromJson(reply->readAll(),&jsonError);  // 转化为 JSON 文档

    if(!doucment.isNull()){
        ui->tableWidget->clearContents();
        QJsonArray array = doucment.array();
        int nSize = array.size();  // 获取数组大小
        for(int index = 0;index<nSize;index++)
        {
            QJsonObject item = array.at(index).toObject();
            insert_tab(item.value("desc").toString(),item.value("ip").toString(),item.value("port").toInt());
        }
    }
}

猜你喜欢

转载自blog.csdn.net/qq_16778399/article/details/82699280