最近在筹划一个开源项目,为了尽可能压榨服务器性能,所以部分代码使用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(); }