使用WWW:机械化以perl脚本登录和下载文件,但无法进入实际的页面内容

时间:2019-07-15 12:29:16

标签: perl www-mechanize

我正在尝试使用Perl脚本中的Mechanize登录该站点。它确实登录到索引页面,但是我尝试获取存在文件超链接的页面内容,然后我没有登录,我假设在查看页面内容之后

第二,我们如何从文件的间接超链接下载文件,该超链接将定向到某些操作,然后再下载文件。请指导,因为此特定用例没有太多帮助

下面是我的代码

use WWW::Mechanize;
use LWP;

my $username = 'user'; 
my $password = 'pass';

my $mech = WWW::Mechanize->new();
$mech -> cookie_jar(HTTP::Cookies->new());
$mech -> get('some_website/index.html?#');
$mech -> form_name('form');
$mech -> field ('user' => $username);
$mech -> field ('password' => $password);
$mech->submit();
$mech -> get('actual_page_address_with_file_hyperlinks?adfgenDispatchAction=examine&idProgressivo=0&idFlusso=4200212');
#print $mech-> content();

$mech->save_content("result.html");

my @links = $mech->links();
for my $link ( @links ) {

    #if(index($link->text,"Scarica")!= -1)
    #{
    printf "%s, %s\n", $link->text, $link->url;
    #}
}

;

1 个答案:

答案 0 :(得分:1)

由于网站使用的是CSRF令牌,并且在登录页面中没有定义隐藏标签来存储CSRF令牌,因此脚本中的令牌生成无济于事。

我使用了WWW :: Selenium,因此能够登录到该站点并下载文件。问题已解决–