Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > C/C++ Сетевое программирование
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 03.01.2019, 18:28   #1
NDrago
Пользователь
 
Регистрация: 22.09.2017
Сообщений: 45
Репутация: 10
По умолчанию скачать html страницу с помощью boost.beast

Всем доброе время суток, дали задачу реализовать crawler,скачать html страницу необходимо с помощью boost.beast к сожалению потратив очень много времени разобраться в документации этого чуда я не смог, обьясните пожалуйста как скачать html страницу с помощью boost beast
NDrago вне форума   Ответить с цитированием
Старый 03.01.2019, 20:57   #2
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 14,664
Репутация: 2631
По умолчанию

https://www.boost.org/doc/libs/1_69_...rt.http_client

Есть же готовый пример...
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Старый 05.01.2019, 14:46   #3
NDrago
Пользователь
 
Регистрация: 22.09.2017
Сообщений: 45
Репутация: 10
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
https://www.boost.org/doc/libs/1_69_...rt.http_client

Есть же готовый пример...
пример то есть, но разобраться я в нем к сожалению не смог, потому и попросил помощи, мне скорее нужно обьяснение как это работает а не сам факт что это работает) если нетрудно не могли бы вы расписать работу этого примера?
NDrago вне форума   Ответить с цитированием
Старый 05.01.2019, 16:30   #4
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 14,664
Репутация: 2631
По умолчанию

Ммм..? Я даже подумал, что мне в бреду праздников приснилось, но нет - зашел, посмотрел - все комментарии на месте:
Код:
        // Set up an HTTP GET request message
        http::request<http::string_body> req{http::verb::get, target, version};
        req.set(http::field::host, host);
        req.set(http::field::user_agent, BOOST_BEAST_VERSION_STRING);

        // Send the HTTP request to the remote host
        http::write(socket, req);

        // This buffer is used for reading and must be persisted
        boost::beast::flat_buffer buffer;

        // Declare a container to hold the response
        http::response<http::dynamic_body> res;

        // Receive the HTTP response
        http::read(socket, buffer, res);
Что конкретно непонятно?

Может вы не знаете как работает HTTP? Что такое гет? https://en.wikipedia.org/wiki/Hypert...nsfer_Protocol
__________________
Запомните раз и навсегда: помочь != "решите за меня"!

Последний раз редактировалось Alex11223; 05.01.2019 в 16:35.
p51x вне форума   Ответить с цитированием
Старый 18.06.2019, 15:01   #5
Android1
Форумчанин
 
Регистрация: 26.08.2010
Сообщений: 87
Репутация: 10
По умолчанию

Здравствуйте,

Прдскажите пожалуйста, непонятно, что такре в данном случае - target и BOOST_BEAST_VERSION_STRING.

Прдскажите пожалуйста.
Android1 на форуме   Ответить с цитированием
Старый 18.06.2019, 15:10   #6
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 14,664
Репутация: 2631
По умолчанию

Цитата:
Сообщение от Android1 Посмотреть сообщение
target
Вы запрашиваете конкретную страницу, указали метод - гет, версию хттп, что же такое оставшееся target?.. И главное перевод - цель, не помогает...

BOOST_BEAST_VERSION_STRING https://www.boost.org/doc/libs/maste...st/version.hpp
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Старый 18.06.2019, 15:23   #7
Android1
Форумчанин
 
Регистрация: 26.08.2010
Сообщений: 87
Репутация: 10
По умолчанию

Здравствуйте,
Код:
auto const host = argv[1];
auto const port = argv[2];
auto const target = argv[3]
Host - это доменное имя ? Порт - соответсвенно порт, по которому будем подключатся; Я честно не могу понять, что в данном случае такое target.

С boost version тоже все таки не понял

Последний раз редактировалось Android1; 18.06.2019 в 15:26.
Android1 на форуме   Ответить с цитированием
Старый 18.06.2019, 15:43   #8
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 14,664
Репутация: 2631
По умолчанию

Мда...

Есть такой протокол в интернете HTTP - https://en.wikipedia.org/wiki/Hypert...nsfer_Protocol . У него есть различные методы запросов. Например, GET. Запрос с его помощью (https://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html) выглядит так:
Код:
GET /index.html HTTP/1.1
Host: www.example.com
Вы прочитали ссылки? Теперь видите 3 параметра в первой строке? Метод, цель и версия хттп?

Цитата:
С boost version тоже все таки не понял
https://en.wikipedia.org/wiki/User_agent
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Старый 18.06.2019, 15:48   #9
Android1
Форумчанин
 
Регистрация: 26.08.2010
Сообщений: 87
Репутация: 10
По умолчанию

С таргетом теперь понял, спасибо. Я почему то думал, что весь путь до страницы в хосте прописывается.
Android1 на форуме   Ответить с цитированием
Старый 18.06.2019, 15:50   #10
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 14,664
Репутация: 2631
По умолчанию

И какой же это хост будет? Это уже конкретная страница.
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
WinApi скачать страницу сайта Biohazard Работа с сетью в Delphi 4 06.10.2014 14:09
Скачать файл или страницу программно! alexrg Visual C++ 3 12.10.2013 08:38
Заполнить boost::bimap используя boost::assign Diego__ Общие вопросы C/C++ 2 18.02.2012 16:48
Как вывести код html из файла на страницу HTML Рамирас JavaScript, Ajax 1 25.07.2010 20:06


15:59.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.