Device-TPLink
view release on metacpan or search on metacpan
lib/Device/TPLink/Kasa.pm view on Meta::CPAN
my $uuid = $ug->generate_v4();
$self->uuid($uuid->as_string());
}
# If the username and/or password are not set, bail out with an error.
unless ($self->username && $self->password) {
Carp::croak "Username and/or password not set!";
}
# We have a username, password, and UUID - everything we need to get a new token
my $credentials = {
appType => 'Kasa_Android',
cloudUserName => $self->username,
cloudPassword => $self->password,
terminalUUID => $self->uuid
};
my $request_object = {
method => 'login',
params => $credentials
};
my $user_agent = LWP::UserAgent::JSON->new;
# Uncomment the next two lines if you need to debug...
#$user_agent->add_handler("request_send", sub { shift->dump; return });
#$user_agent->add_handler("response_done", sub { shift->dump; return });
my $request = HTTP::Request::JSON->new(POST => "https://wap.tplinkcloud.com");
$request->header('Accept' => '*/*'); # Really, really annoying, but required by Kasa service...
$request->json_content( $request_object );
( run in 0.249 second using v1.01-cache-2.11-cpan-4d50c553e7e )