最近在籌劃一個開源項目,為了儘可能壓榨服務器性能,所以部分代碼使用C++編寫。程序涉及到對外的HTTP請求,正好發現QT自帶這方面的庫,那就直接引用吧!
下面給出一個最小的Demo,不做額外介紹,每個類的具體用法請查閲官方文檔。
注意
跑Demo前需要在.pro文件中加上如下代碼,以鏈接網絡庫。
QT += network
Demo:
#include <QCoreApplication> #include <QNetworkRequest> #include <QNetworkReply> #include <QNetworkAccessManager> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); // 構建及發送請求 QNetworkAccessManager *manager = new QNetworkAccessManager(); QString url = "https://www.ibadboy.net"; QNetworkRequest request; request.setUrl(QUrl(url)); QNetworkReply *pReply = manager->get(request); // 開啓一個局部的事件循環,等待頁面響應結束 QEventLoop eventLoop; QObject::connect(manager, &QNetworkAccessManager::finished, &eventLoop, &QEventLoop::quit); eventLoop.exec(); // 獲取網頁Body中的內容 QByteArray bytes = pReply->readAll(); qDebug() << bytes; return a.exec(); }