2016-08-31 2 views
0

У меня есть веб-страница с некоторой формой, с которой я могу получить доступ через URL-адрес http://server ... У меня также есть приложение, написанное на C++, которое я хочу получить с данными формы.Как получить доступ к текстовым данным веб-страницы динамически для системного процесса?

  • Как я могу получить доступ к веб-странице через код C++?
  • Как я могу получить данные этой формы с веб-страницы на код C++?
  • Далее мне нужно динамически получить это значение, когда я отредактирую любые данные на веб-странице и нажмите submit.

Как я могу выполнить этот подход на C++? Должен ли я выбрать какой-либо механизм нити внутри C++ или любой сокет?

+0

вы можете использовать веб-узлы и https://github.com/zaphoyd/websocketpp – Roby

ответ

0
  • Как я получить доступ к веб-страницы через с ++ код?

Схема URL подразумевает, что вы можете получить к нему доступ с помощью протокола передачи гипертекста. Спецификация HTTP сообщает вам, как использовать протокол, и вы можете написать клиент на основе этого. Вы можете уйти с гораздо меньшей работой, используя существующую реализацию HTTP-клиента с C++ (или C) API.

  • Как я могу получить, что данные формы с веб-страницы в C++ код?

Как это веб-страницы, предположительно, форма описана в HyperText Markup Language. Проверьте содержимое, чтобы убедиться. Вы можете написать парсер HTML на основе стандартной спецификации HTML. Вы можете уйти с гораздо меньшей работой, используя существующую реализацию парсера HTML, который имеет C++ (или C) API.

, когда я редактирую любые данные на веб-странице и нажимаю submit, мне нужно получить эти данные в код C++.

Форма должна отправить отправку на веб-сервер, который выполняет вашу программу на C++. Обычно это достигается с помощью интерфейса Common Gateway. Вы можете уйти с гораздо меньшими затратами, используя существующий веб-сервер, который поддерживает CGI, и существующую CGI-библиотеку C++ (или C). Если вы решите самостоятельно написать веб-сервер, вы можете написать ответ отправки как часть программы веб-сервера, и вам не понадобится CGI, но это, вероятно, сделает ваш сервер плохо повторным.

я должен выбрать любой механизм резьбы

WebServers обычно использует несколько потоков для обработки запросов, и если вы написать свой собственный сервер, то я рекомендую также делать это. Однако это не совсем необходимо.

Кроме того, если ваша клиентская программа, которая читает форму, имеет другие функции, чем ждать ответа сервера, тогда асинхронный запрос позволяет вам выполнять эти другие вещи во время ожидания.

или любое гнездо

Если вы решили реализовать клиент и/или сервер самостоятельно, то да, вам, вероятно, нужно использовать сокеты для общения по сети.