I had the same issue. The QIODevice::readAll() (which is called from QNetworkReply) function states this issue:
This function has no way of reporting errors; returning an empty QByteArray can mean either that no data was currently available for reading, or that an error occurred. This function also has no way of indicating that more data may have been available and couldn't be read.
The resolution is to connect QIODevice::readyRead to as per the documentation:
connect(reply, &QIODevice::readyRead, this, [=]() { QByteArray response = reply->readAll(); qDebug() << response; });