Лабораторная 1. Генерация HTTP-запросов.

Разработать консольную программу на одном из классических языков программирования (C/C++/Pascal), позволяющую сгенерировать HTTP-запрос к серверу.

На входе программы: информация об атрибутах и содержимом HTML-формы:

  1. Адрес и (опционально) порт сервера
  2. Значение атрибута Method формы (GET/POST)
  3. Значение атрибута Action формы (состоит из абсолютного адреса программы на сервере, без адреса и порта сервера)
  4. Произвольное количество текстовых полей ввода в виде пар Имя=Значение

На выходе программы: корректный текст HTTP-запроса к серверу, содержащий результат обработки HTML-формы. Текст должен включать минимально необходимое содержимое HTTP-запроса, URL и поля формы - закодированы согласно rfc 3986 (см. например функции encodeURIComponent() в JavaScript или urlencode() в PHP). Для кодирования разрешается использовать сторонние библиотеки функций.

Для проверки работы программы рекомендуется создать php-скрипт, который возвращает текст с информацие о заголовках и теле запроса. Скрипт расположить в точке веб-сервера, куда указывает атрибут Action формы. Полученный с помощью разработанной программы http-запрос отправить на указанный сервер с помощью утилит telnet или nc. Проанализировать корректность ответа.