QNetworkReply: How to get request (NOT response) header information
-
Hi,
so far I was able to get the response Headers from a request send from a QNetworkAccessManager but Iam also interested in the request header which is send to the server but I am not able to get it.To get the response header I connected to the finished slot and when look into the QNetworkReply object.
void harbinger::replyFinished(QNetworkReply * response) { //set status code ui.statusCodeEdit->setText(response->attribute(QNetworkRequest::Attribute::HttpStatusCodeAttribute).toString() + " - " + (response->attribute(QNetworkRequest::Attribute::HttpReasonPhraseAttribute).toString())); QList<QByteArray> headerlist = response->rawHeaderList(); QByteArray header; for (auto it = headerlist.cbegin(); it != headerlist.cend(); ++it) { header = response->rawHeader(*it); QString test = "<b>" + *it + ": " + "</b>" + header; ui.responseHeaderEdit->append(test); } }
I tried following things to get the request header:
- I tried to look into the object that is returned bei QNetworkAccessManager::get() which has completely no header information
- I connected to the readyRead() signal which only gives me the header infos from the response
- I connected to the metaDataChanged() signal but I also get the response header
- I also looked into the constructed QNetworkRequest object before it was passed to the QNetworkAccessManager::get function but this was also empty.
- I tried also to look into the QNetworkRequest object that is in the QNetworkReply when the finished slot is invoked but where was also no request header information.
How can I get the header information which QNetworkAccessManager send to the server?
If I look into wireshark I see that per default the QNetworkAccessManager sends header information even if none are set by myself but Iam not able to get the information.On which point do I have to put my "Net" to get the info?
Edit: Ok, I tested what happens if I manually add header to the request and looked into the request object in QNetworkAccesManager::get scope and in finished() scope and I was able to retrieve header information but only the ones that I put in but if I look to wireshark I see more header information.
e.g.:
GET /myurl/!/about HTTP/1.1 <-- protocol info
Conenction: Keep-Alive
Accept-Encoding: gzip, deflate
Accept-Language- de-de, en.*
User-Agent: Mozilla/5.0 <-- ? is it internally a mozilla engine?
Host: blablubb:1080I see this information in wireshark so it must be coming from the QNetworkAccessManager?
Regards
Revi