|
AOLserver::CtrlPort - Execute Commands on AOLserver's Control Port |
AOLserver::CtrlPort - Execute Commands on AOLserver's Control Port
use AOLserver::CtrlPort;
my $conn = AOLserver::CtrlPort->new(
Host => 'myhost',
Port => 3456,
User => 'username',
Password => 'password',
);
my $out = $conn->send_cmds(<<EOT);
info tclversion
EOT
print $out, "\n";
AOLserver::CtrlPort uses Net::Telnet to connect to a running
AOLserver's control port, issues commands there and returns the
output.
It is useful for creating test suites for AOLserver applications which can be controlled via the control port.
To configure AOLserver's control port, use settings similar to the following ones:
ns_section "ns/server/${servername}/module/nscp"
ns_param address myhostname
ns_param port 3334
ns_param echopassword 1
ns_param cpcmdlogging 1
ns_section "ns/server/${servername}/module/nscp/users"
ns_param user "username:3G5/H31peci.o:"
# That's "username:password"
ns_section "ns/server/${servername}/modules"
ns_param nscp ${bindir}/nscp.so
This lets AOLserver enable the control port on server myhostname on port
3334. Authentication is on, the username is username and the
password is password (hashed to 3G5/H31peci.o with a program
like htpasswd).
new(...)address as defined in the configuration.
send_cmds(``$cmd1\ncmd2\n...'')
$out = $conn->send_cmds(<<EOT);
info tclversion
info commands
EOT
and return the newline-separated response as a single string.
AOLserver::CtrlPort is Log4perl enabled. If your scripts don't do what you want and you need to find out which messages are being sent back and forth, you can easily bump up AOLserver::CtrlPort's internal debugging level by saying something like
use Log::Log4perl qw(:easy);
Log::Log4perl->easy_init($DEBUG);
in your test script before any AOLserver::CtrlPort commands are called.
Please check out the Log::Log4perl documentation for details.
Mike Schilli, 2004, m@perlmeister.com
|
AOLserver::CtrlPort - Execute Commands on AOLserver's Control Port |