// // Copyright (c) 2013-2016 Vinnie Falco (vinnie dot falco at gmail dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // #include #include #include #include #include int main() { // Normal boost::asio setup std::string const host = "boost.org"; boost::asio::io_service ios; boost::asio::ip::tcp::resolver r{ios}; boost::asio::ip::tcp::socket sock{ios}; boost::asio::connect(sock, r.resolve(boost::asio::ip::tcp::resolver::query{host, "http"})); // Send HTTP request using beast beast::http::request req; req.method = "GET"; req.url = "/"; req.version = 11; req.fields.replace("Host", host + ":" + boost::lexical_cast(sock.remote_endpoint().port())); req.fields.replace("User-Agent", "Beast"); beast::http::prepare(req); beast::http::write(sock, req); // Receive and print HTTP response using beast beast::streambuf sb; beast::http::response resp; beast::http::read(sock, sb, resp); std::cout << resp; }