Модуль для работы с Web

Написал простой модуль для работы с web. Модуль довольно легкий, основан на IO::Socket::INET и IO::Socket::SSL.

Конструктор:
new()
new(arg => value, arg => value)

  Создает объект, который используется для дальнейших запросов. Доступные аргументы: agent (user-agent, который будет использоваться в запросе), timeout (таймаут соединения).

Методы:
set_cookie($arg)
  Устанавливает аргумент в качестве кукисов.

header(%arg)
  Устанавливает дополнительные заголовки.

proxy_auth($login, $passw)
  Устанавливает логин и пароль для авторизации при работе с http-прокси.

socks_auth($login, $passw)
  Устанавливает логин и пароль для авторизации при работе с socks-прокси.

proxy($proxy_type, $proxy)
  Включает работу через прокси.
  $proxy_type может принимать следующие значения: 0 - без прокси, 1 - http-прокси, 2 - socks5 прокси.
  $proxy в формате ip:port

request($method, $host, $port, $uri, $payload, $limit)
  Метод для непосредственного выполнения запроса
  $method - GET, POST, HEAD,
  $host - адрес сайта с http:// (например, http://rambler.ru),
  $port - порт,
  $uri - путь запроса (например, /index.php),
  $payload - тело POST-запроса,
  $limit - количество байт, которые необходимо считать из сокета (0 - считать весь ответ).

Примеры работы с модулем
Получение веб-страницы в переменную и вывод содержимого ответа на экран:

Работа через прокси:

POST запрос через прокси:

Скачать: web.pm