Aliyun
view release on metacpan or search on metacpan
lib/Aliyun.pm view on Meta::CPAN
use warnings;
our $VERSION = '1.0.0';
# Preloaded methods go here.
1;
__END__
=encoding utf8
=head1 NAME
Aliyun - é¿éäºSDK
=head1 SYNOPSIS
use Aliyun::AuthV2;
use Aliyun::Request;
use Aliyun::Method::FcSmsNumSend;
lib/AuthV2.pm view on Meta::CPAN
sub get_url {
my ($self, $input_parms) = @_;
if (!$self->{'app_key'} || !$self->{'secret_key'}) {
return 0;
}
my $merge = Hash::Merge->new('LEFT_PRECEDENT');
my $public_params = $self->_get_public_params();
my $all_parms = $merge->merge($public_params, $input_parms);
my ($signature_param, $url_param) = ('', '');
map {
#æ¯å¦éè¦è½¬utf8?
#$_ = encode_utf8($_);
$signature_param .= $_ . $all_parms->{$_};
$url_param .= join('=', $_, uri_escape($all_parms->{$_}) . '&')
} sort keys(%{$all_parms});
#MD5å å¯åéè¦å
¨é¨å¤§å,å¦åç¾åä¼åºé
my $signature = uc(md5_hex(
$self->{'secret_key'} . $signature_param . $self->{'secret_key'}
));
return sprintf('%s?%ssign=%s', $self->{'aliyun_url'}, $url_param, $signature);
}
1;
__DATA__
=encoding utf8
=head1 NAME
Aliyun::AuthV2- é¿éäºV2ç¾åç®æ³
=head1 SYNOPSIS
use Aliyun::AuthV2;
my $auth = Aliyun::AuthV2->new();
$auth->set_appkey('ä½ èªå·±çkey');
lib/Method/FcIotQrycard.pm view on Meta::CPAN
}
sub get_params {
return $_[0]->{'params'};
}
1;
__DATA__
=encoding utf8
=head1 NAME
Aliyun::Method::FcIotQrycard- é¿éå¤§äºæ¥è¯¢ç»ç«¯ä¿¡æ¯
=head1 ATTRIBUTES
=head1 METHODS
lib/Method/FcSmsNumSend.pm view on Meta::CPAN
}
sub get_params {
return $_[0]->{'params'};
}
1;
__DATA__
=encoding utf8
=head1 NAME
Aliyun::Method::FcSmsNumSend- é¿é大äºåéçä¿¡
=head1 METHODS
=head2 set_rec_num
lib/Request.pm view on Meta::CPAN
if (ref $cb eq ref sub {}) {
$cb->($result);
}
});
$delay->wait;
}
1;
__DATA__
=encoding utf8
=head1 NAME
Aliyun::Request - 弿¥è¯·æ±é¿éäºç客æ·ç«¯
=head1 ATTRIBUTES
=head1 METHODS
=head2 get
( run in 0.501 second using v1.01-cache-2.11-cpan-49f99fa48dc )