Audio-Scrobbler
view release on metacpan or search on metacpan
lib/Audio/Scrobbler.pm view on Meta::CPAN
URLEncode($self->{'cfg'}{'progver'}).'&u='.
URLEncode($self->{'cfg'}{'username'});
print "RDBG about to send the handshake request: $s\n"
if $self->{'cfg'}{'verbose'};
if ($self->{'cfg'}{'fake'}) {
print "RDBG faking it...\n" if $self->{'cfg'}{'verbose'};
$self->{'md5ch'} = 'furrfu';
$self->{'nexturl'} = 'http://furrfu.furrblah/furrquux';
return 1;
}
$req = new HTTP::Request('GET', "http://post.audioscrobbler.com/?$s");
if (!$req) {
$self->err('Could not create the handshake request object');
return undef;
}
$resp = $ua->request($req);
print "RDBG resp is $resp, success is ".$resp->is_success()."\n"
if $self->{'cfg'}{'verbose'};
if (!$resp) {
$self->err('Could not get a handshake response');
return undef;
lib/Audio/Scrobbler.pm view on Meta::CPAN
# Init...
@t = gmtime();
$datestr = sprintf('%04d-%02d-%02d %02d:%02d:%02d',
$t[5] + 1900, $t[4] + 1, @t[3, 2, 1, 0]);
# Let's hope md5_hex() always returns lowercase hex stuff
$md5resp = md5_hex(
md5_hex($self->{'cfg'}{'password'}).$self->{'md5ch'});
# Let's roll?
$req = HTTP::Request->new('POST', $self->{'nexturl'});
if (!$req) {
$self->err('Could not create the submission request object');
return undef;
}
$req->content_type('application/x-www-form-urlencoded; charset="UTF-8"');
$s = 'u='.URLEncode($self->{'cfg'}{'username'}).
"&s=$md5resp&a[0]=".URLEncode($info->{'artist'}).
'&t[0]='.URLEncode($info->{'title'}).
'&b[0]='.URLEncode($info->{'album'}).
'&m[0]='.
( run in 0.329 second using v1.01-cache-2.11-cpan-de7293f3b23 )