Acme-UPnP
view release on metacpan or search on metacpan
lib/Acme/UPnP.pm view on Meta::CPAN
END
for my $k ( keys %$args ) {
$body .= "<$k>" . $args->{$k} . "</$k>\n";
}
$body .= <<~END;
</u:$action>
</s:Body>
</s:Envelope>
END
my $res = $http->post( $control_url,
{ headers => { 'Content-Type' => 'text/xml; charset="utf-8"', 'SOAPAction' => "\"$service_type#$action\"" }, content => $body } );
return $res->{success} ? $res->{content} : undef;
}
method _get_local_ip () {
my $sock = IO::Socket::INET->new( Proto => 'udp', PeerAddr => '192.168.1.1', PeerPort => '1' );
if ($sock) {
my $addr = $sock->sockhost;
return $addr;
}
'127.0.0.1';
lib/Acme/UPnP.pod view on Meta::CPAN
=pod
=encoding utf-8
=head1 NAME
Acme::UPnP - Cheap UPnP Port Mapping (IGD)
=head1 SYNOPSIS
use Acme::UPnP;
my $mapper = Acme::UPnP->new( );
( run in 1.095 second using v1.01-cache-2.11-cpan-13bb782fe5a )