I'm currently working on a script for my band to help promote our music on Myspace. In the US they have turned on an option to Disable captchas, so I've verifed my cell phone to take advantage of this feature. I must now pass this "SMSToken" value to my login script but the value is set via javacript. I've stumbled upon
JavaScript-SpiderMonkey which seems to be the answer. I'm still having trouble retrieving the token using my script below:
use warnings;
use strict;
use LWP::UserAgent;
use HTML::Parser;
use JavaScript::SpiderMonkey;
use Data::Dumper;
my $base = 'http://www.myspace.com';
my $js = JavaScript::SpiderMonkey->new();
$js->init();
$js->function_set("SMSTokenValue", sub { print "@_\n"; });
$js->property_by_path("document.getElementById");
{
my $ua = new LWP::UserAgent();
my $req = new HTTP::Request ('GET', $base);
my $res = $ua->request($req);
if (!($res->is_success)){
warn "Warning:".$res->message."\n";
}
else {
print "Successful\n";
my $rc = $js->eval("document.getElementById('ctl00_ctl00_cpMai
+n_cpMain_LoginBox_SMSVerifiedCookieToken');");
print Dumper($rc);
$js->destroy();
}
}
Any idea what I'm missing? I've eliminated the call to my function after initilization and tried to bring it down to the basics but can't seem to retrieve the javascript value.
Any help would be greatly appreciated