package Net::Telnet::Wrapper::Device::TCP::HTTP; ## ---------------------------------------------------------------------------------------------- ## Net::Telnet::Wrapper::Device::TCP::HTTP ## ## Device class for connecting to TCP HTTP port ## ## $Id: HTTP.pm 39 2007-07-11 14:29:01Z mwallraf $ ## $Author: mwallraf $ ## $Date: 2007-07-11 16:29:01 +0200 (Wed, 11 Jul 2007) $ ## ## This program is free software; you can redistribute it and/or ## modify it under the same terms as Perl itself. ## ---------------------------------------------------------------------------------------------- $VERSION = "0.1"; use Net::Telnet::Wrapper::Device; use strict; use warnings; use vars qw( @ISA ); @ISA = ("Net::Telnet::Wrapper::Device"); sub new() { my ($this, %parm) = @_; my $class = ref($this) || $this; my $self = $class->SUPER::new(%parm, 'Telnetmode' => 0, 'port' => 80); bless($self,$class); *$self->{'net_telnet_wrapper'}->{'device_class'} = "TCP::HTTP"; *$self->{'net_telnet_wrapper'}->{'mode_support_login'} = 0; # router supports enable mode *$self->{'net_telnet_wrapper'}->{'mode_support_enable'} = 0; # router supports enable mode *$self->{'net_telnet_wrapper'}->{'mode_support_config'} = 0; # router supports config mode *$self->{'net_telnet_wrapper'}->{'terminal_length_cmd'} = ''; # if set then the terminal length will be set to 0 before each command $self->open(); $self->_init(); return($self); } sub _init() { my ($self) = shift; } sub test_url() { my ($self, $url) = @_; return $self->SUPER::cmd("GET $url HTTP/1.0\n\n"); } 1; __END__ =head1 NAME Net::Telnet::Wrapper::Device::TCP::HTTP =head1 DESCRIPTION TCP::HTTP device class template. This device class can be used to connect to HTTP servers over port 80 Do not call this module directly. =head1 DEVICE CLASS SPECIFIC PROCEDURES Following device class specific procedures are defined. All commands can also be executed using the default cmd() command which is inherited from Net::Telnet. =over 4 =item test_url url This procedure connects to an HTTP server on port 80 and tries to get an url. To avoid hanging sessions etc. a GET is done with HTTP version 1.0 Return value is everything that HTTP GET returns =back =head1 SUPPORTED MODES CONNECT =head1 SPECIFICS - Net::Telnet is called with Telnetmode disabled - Some custom procedures are defined =head1 AUTHOR Maarten Wallraf Eperl@2nms.comE =cut