Dzień dobry, chciałem napisać program do pobierania HTML ze strony przy użyciu biblioteki Boost.Asio.
Program nie pobiera całej strony HTML.
Przy pisaniu pomagałem sobie tą stronką.
#include <boost/asio.hpp>
#include <boost/asio/ssl.hpp>
#include <iostream>
#include <stdio.h>
int main(int argc,char* argv[]) {
using boost::asio::ip::tcp;
namespace ssl = boost::asio::ssl;
typedef ssl::stream<tcp::socket> ssl_socket;
ssl::context ctx(ssl::context::sslv23);
ctx.set_default_verify_paths();
boost::asio::io_service io_service;
ssl_socket sock(io_service, ctx);
tcp::resolver resolver(io_service);
tcp::resolver::query query("www.google.pl", "https");
boost::asio::connect(sock.lowest_layer(), resolver.resolve(query));
sock.lowest_layer().set_option(tcp::no_delay(true));
sock.set_verify_mode(ssl::verify_peer);
sock.set_verify_callback(ssl::rfc2818_verification("www.google.pl"));
sock.handshake(ssl_socket::client);
std::array<char,90000> bufferRead;
boost::system::error_code ec;
sock.write_some(boost::asio::buffer("GET / HTTP/1.1\r\nHost: www.google.pl\r\nConnection: close\r\n\r\n"));
while(!ec){
sock.read_some(boost::asio::buffer(bufferRead),ec);
}
std::cout << bufferRead.data();
return 0;
}