Qt post http請求使用

#include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); //網絡載體 networkAccessManager = new QNetworkAccessManager(this); //網絡載體的響應接收信號,與響應接收槽綁定 connect(networkAccessManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(SltLoginReplay(QNetworkReply*))); } void MainWindow::SltLoginReplay(QNetworkReply *reply) { int statusCode = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(); qDebug() << "statusCode:" << statusCode; if(reply->error() == QNetworkReply::NoError) { ui->textBrowser->setText(QString(reply->readAll())); } else { qDebug() << "========="; } reply->deleteLater(); } MainWindow::~MainWindow() { delete ui; } void MainWindow::on_pushButton_clicked() { ui->textBrowser->clear(); QString strUserInfo = QString("name=&password="); QByteArray content = strUserInfo.toUtf8(); int contentLength = content.length(); QNetworkRequest netReq; netReq.setUrl(QUrl("server ip address")); netReq.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded"); netReq.setHeader(QNetworkRequest::ContentLengthHeader, contentLength); // 發送參數// 將用戶名和密碼發送至web服務器進行驗證 networkAccessManager->post(netReq, content); } void MainWindow::on_pushButton_2_clicked() { ui->textBrowser->clear(); QNetworkRequest request; request.setUrl(QUrl("http://dict.baidu.com/s?wd=name")); networkAccessManager->get(request); }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章