将Mechanize与Google的2FA一起使用

时间:2015-05-11 15:25:15

标签: perl mechanize www-mechanize two-factor-authentication

我尝试使用Mechanize从(Google)网络服务中检索数据。

如果用户拥有2FA(双因素身份验证),则此代码有效:

#!/usr/bin/perl

my $email = 'xxxxx';
my $pass = 'xxxxx';

use WWW::Mechanize;

my $time1 = (time - 24 * 60 * 60) * 1000;
my $time2 = (time + 24 * 60 * 60) * 1000;

my $mech = WWW::Mechanize->new();
$mech->get("https://maps.google.com/locationhistory/b/0/kml?startTime=$time1&endTime=$time2");
$mech->submit_form(fields => { 'Email' => $email, 'Passwd' => $pass, }, );
$mech->content =~ m!.*<gx:coord>(.*?)</gx:coord>!s;
my $coord = $1;
my($lng, $lat) = ($coord =~ /^([-+]?[\d\.]+)[ ,]+([-+]?[\d\.]+)/);

如果用户已打开2FA,则在提交密码后,该页面会要求输入2FA代码。我有一个生成代码的令牌 - 但我不确定如何提交它。

(我已尝试使用App Specific Passwords - 但他们不能为此类访问工作。)

  1. 如何在第二页上提交2FA代码?
  2. 我有什么方法可以存储Cookie,所以我不必每次都使用2FA令牌吗?

0 个答案:

没有答案