Qua*_*ale 1 c++ post qt http httprequest
我将如何编写一个函数来等待 POST 完成?我正在登录一个有多个重定向的网站,并使用 connect()QNetworkReply()导致无限的 GET 请求。
我现在正在使用等待计时器:
test->sendPostRequest(url, loginData);
QEventLoop loop;
QTimer::singleShot(8000, &loop, SLOT(quit()));
loop.exec();
test->sendGetRequest(request);
Run Code Online (Sandbox Code Playgroud)
您可以使用本地事件循环,使用QEventLoop并将您的信号完成连接QNetworkAccessManager到QEventLoop. 这样当帖子完成时,本地事件循环退出并执行其余部分:
QNetworkAccessManager *networkManager = new QNetworkAccessManager(this);
networkManager->post(QNetworkRequest(serviceUrl), postData);
QEventLoop loop;
loop.connect(networkManager, SIGNAL(finished(QNetworkReply*)), SLOT(quit()));
loop.exec();
//...
Run Code Online (Sandbox Code Playgroud)
我不应该认为这是“阻塞等待而不阻塞 UI”的标准模式。
| 归档时间: |
|
| 查看次数: |
1178 次 |
| 最近记录: |