最近在籌劃一個開源專案,為了儘可能壓榨伺服器效能,所以部分程式碼使用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(); }