Задать вопрос
1HAWK1
@1HAWK1

Как получить данные из сайта в C++?

Как я могу получить текст из сайта в с++?
Пример текста: https://api.thedogapi.com/
  • Вопрос задан
  • 2630 просмотров
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 3
revenger
@revenger
49.5
Вот вам пример приложения на c++, которое умеет делать запросы и получать ответы. Дальше смотрите сами что делать с эими ответами.
Ответ написан
Комментировать
@res2001
Developer, ex-admin
Так же, как и на любом другом языке программирования - отправить HTTP запрос на сайт, получить и распарсить ответ. Для этого есть много библиотек, с помощью которых это можно сделать достаточно легко.
Так же можно сделать и без сторонних библиотек, но это будет уже гораздо сложнее и придется во всем разбираться самому.
В самом языке С++ встроенных средств для этого, конечно, нет.
Ответ написан
Комментировать
0hquazEd
@0hquazEd
#include <iostream>
#include <boost/beast.hpp>
namespace asio = boost::asio;
namespace beast = boost::beast;
namespace http = boost::beast::http;

int main(int argc, char** argv)
{
	asio::io_context io;
	asio::ip::tcp::socket socket(io);
	asio::ip::tcp::resolver resolver(io);

	asio::connect(socket, resolver.resolve("scooterlabs.com", "http"));

	http::request<http::empty_body> request(http::verb::get, "/echo", 11);
	request.set(http::field::host, "scooterlabs.com");
	request.set(http::field::user_agent, BOOST_BEAST_VERSION_STRING);

	http::write(socket, request);

	beast::flat_buffer buffer;
	http::response<http::string_body> response;

	http::read(socket, buffer, response);

	std::cout << response.body() << std::endl;

	socket.shutdown(socket.shutdown_both);
	return 0;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы