Всё верно. Только когда сервер возвращает 404 Not Found - срабатывает индикатор ошибки, вот и интересуюсь - то ли так и должно быть, то ли я не правильно/не там ошибки ловлю.
Ну просто он, скорее всего для удобства, дополнительно обрабатывает пару стандартных ответов - 404 (QNetworkReply::ContentNotFoundError) и 401 (QNetworkReply::ContentAccessDenied).
Так что если надо обработать статусы сервера, то можно:
C++ (Qt)
int error = networkReply->error();
switch (error)
{
case QNetworkReply::NoError:
case QNetworkReply::ContentNotFoundError:
case QNetworkReply::ContentAccessDenied:
{
int http_status_code = networkReply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
// handle HTTP status.
break;
}
default:
// handle network error.
}