QNetworkReply
error signal is only for networking layer not protocol layer. It means that it will report all errors that occured during estabilishing connection with HTTP server. When connection is estabilished you won't receive error
signal if HTTP server handled it correctly. Even if url you typed produced HTTP errors from 4xx or 5xx status codes still your reply will end without error (network error) as server handled your request.
If you want to handle HTTP errors you must use reply attributes with QNetworkReply::attribute method and handle them separately from errors that were reported with error
signal