我可以在Perl中使用WWW::Mechanize自动化AngularJS登录表单吗?



我有一个网页,它使用AngularJS显示带有用户名字段的表单,然后是密码字段,HTML没有任何或元素。下一页是一个简单的HTML表单,可以很容易地自动化,两组字段和一个下载按钮。

我知道如何使用 WWW::Mechanize 来自动化表单,但我被困在登录时。我看到了一些python方法可以做到这一点,但我不是python主义者,更喜欢Perl。

WWW:Mechanize可以做到这一点吗? 还有其他CPAN模块吗?

来了。更改登录名和密码并粘贴您获得的内容。您应该从 API 获取令牌 ID,然后使用此令牌进行授权。

use LWP::UserAgent;
my $ua = LWP::UserAgent->new();
my $login = 'lucky';
my $password = 'secretpassword';
$ua->default_header('Accept' => 'application/json, text/plain, */*');
$ua->default_header('Content-Type' => 'application/json;charset=UTF-8');
$ua->default_header('Accept-Encoding' => 'gzip, deflate, br');
$ua->default_header('Accept-Language' => 'pl-PL,pl;q=0.9,en-US;q=0.8,en;q=0.7');
$ua->default_header('Connection' => 'keep-alive');
$ua->default_header('Orgin' => 'https://www.ooredoo.qa');
$ua->default_header('Referer' => 'https://www.ooredoo.qa/selfcare/');
$ua->default_header('Content-Type' => 'application/json;charset=UTF-8');
$ua->default_header('User-Agent' => 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36');
my $content = '{"operation":"Login","language":"ENGLISH","parameters":["'.$login.'","'.$password.'"]}';
my $res = $ua->post('https://www.ooredoo.qa/webgate/login', Content => $content );
print $res->decoded_content;

最新更新