2016-04-01 8 views
3

kullanılarak gönderilen istekler için http üstbilgisinin ham bayt verileri nasıl alınır https isteklerini gerçekleştirmek için QNetworkRequest kullanıyorum. Hata ayıklamak ve https sunucusuna gönderilmeden önce bu sınıf tarafından oluşturulan http başlığının TÜM içeriğini görmek istiyorum.QNetworkRequest

Şimdiye kadar bunu:

QString header_list; 
QList<QByteArray> headerList = request->rawHeaderList(); 
foreach(QByteArray head, headerList) 
    header_list += head + ": " + request->rawHeader(head) + "\n"; 

Bu açıkça setRawHeader kullanılarak ayarlanır başlığının tüm parçalarını içeren dize ile sonuçlanır, ancak varsayılan veya sınıf tarafından eklenen değerler göstermiyor kendi müdahalesi olmadan.

Normalde, uygulamaların sunucuya ne göndermeye çalıştığını görmek için tcpdump kullanırım, ancak SSL kullanamıyorum.

Gerçekten dışarı çıkıp, sınıfın içinde gizli bir şekilde bulunan "gerçek" üstbilgiyi görmek isterim.

Uygulamamın basit bir yolu var mı? Böylece, uygulamamın hangi http header'ı kullandığını görebiliyorum?

cevap

3

HTTP üstbilgileri deep inside Qt ağ modülü olarak ayarlanmıştır. Onları alamazsın. Varsayılan başlıklar aşağıdakiler:

Content-Length: 42 // if there is outgoing data 
Proxy-Connection: Keep-Alive // if there is http proxy 
Connection: Keep-Alive 
Accept-Encoding: gzip, deflate 
Accept-Language: ru-RU,en,* // depend on system locale 
User-Agent: Mozilla/5.0 
Host: www.google.com 
Content-Type: application/x-www-form-urlencoded // if there is outgoing data, depend on data type