2016-09-21 2 views
0

다른 웹 사이트 (모든 SSL)의 콘텐츠를 읽으려면 boost asio를 사용하고 있습니다. 일부 사이트에서는 올바른 코드를 사용하고 있습니다. 기타, google처럼 헤더를 주겠지 만 콘텐츠가 쓰레기 (끝에 예제를 게시 할 예정)입니다.asio SSL 콘텐츠를 읽을 수 없습니다.

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; 
} 

이것은 내 코드의 샘플입니다. 나는 내 문제가 연결이라고 생각한다. 그렇지 않은 경우 전체 코드를 게시 할 수 있습니다.

응답 예 :이 콘텐츠 인코딩과 전송과 같은 압축 된 내용이 청크 보인다 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ä;

답변

0

. HTTP 헤더 (코드에서 읽지 말아야 함)를 살펴보면 다음과 같이 나타납니다.

Transfer-Encoding: chunked 
Content-Encoding: gzip 
관련 문제