2016-09-21 4 views
0

Ich benutze Booster Asio, um Inhalt von verschiedenen Websites (alle ssl) zu lesen. Auf einigen Websites funktioniert mein Code und ich bekomme den richtigen Inhalt. Andere, wie Google wird mir Header geben, aber der Inhalt ist Müll (ich werde ein Beispiel am Ende veröffentlichen).asio ssl Inhalt ist unlesbar

asio::io_service svc; 
context_(asio::ssl::context::sslv23_client); 
socket(svc, context); 
context.set_default_verify_paths(); 

asio::ip::tcp::resolver resolver(svc_); 
asio::ip::tcp::resolver::query query("www.google.de", "https"); 
asio::ip::tcp::resolver::iterator endpoint_iterator = resolver.resolve(query); 

socket.set_verify_mode(asio::ssl::context::verify_none); 

asio::connect(socket.next_layer(), endpoint_iterator); 
socket.handshake(asio::ssl::stream<asio::ip::tcp::socket>::client); 

// Building request_buffer.. 
// ... 
asio::write(socket, request_buffer); 

// reading content 
while(asio::read(socket, stream_buffer, asio::detail::transfer_at_least_t(1))) { 
    std::cout<< &response_buffer; 
} 

Dies ist ein Beispiel für meinen Code. Ich denke, mein Problem ist die Verbindung. Wenn nicht, kann ich den vollständigen Code veröffentlichen.

Antwort Beispiel: 12b3 ╝<╔r9ûg+ó ª]-ÆÖ$ôï,▒CÂeùª╝¿-òË╚Iÿ╣5Ç%MÈe>óOÐù:╬╣Nu˃╠ù╠{@«dJJRvD'æ└█­­VðçO_}xy±ƒg'dí|o|êƒ─ú┴³¿ß▓µ½ô1ÛÄ}ª(Öåübü:j(vÑ┌8¸9Ö.¿ÉL┼jÍ6 îèÜý1┐<j╝4ËøÎk┤7ax,Zä;

Antwort

0

Das sieht aus wie komprimierte Inhalte mit Content-Encoding übertragen gestückelt. Wenn Sie sich den HTTP-Header anschauen (den Sie in Code nicht angezeigt haben müssen), finden Sie wahrscheinlich:

Transfer-Encoding: chunked 
Content-Encoding: gzip 
Verwandte Themen