perl - 使用 WWW:Mechanize 登录并下载 perl 脚本中的文件,但无法进入实际页面内容
问题描述
我正在尝试使用 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;
#}
}
;
解决方案
由于该网站使用 CSRF 令牌,并且登录页面中没有定义隐藏标签来存储 CSRF 令牌,因此脚本中的令牌生成没有帮助。
我使用了 WWW:: Selenium,我能够登录到该站点并下载文件。问题已解决 –</p>
推荐阅读
- python - 将小部件添加到 Tkinter 颜色选择器
- javascript - 如何使用 express.js 将文件传递到我的服务器
- ios - 如何在同一个容器中解码 DynamicKeys 和 CodingKeys?
- javascript - 当我发送带有图像的发布请求时得到这个:错误:请求失败,状态码 409
- node.js - 如何让 cosmosdb 触发一个 azure 函数并调用另一个 http 函数
- sql - 得到 20 条 sql 查询的最佳 8 条结果?
- python - 'str' 对象在使用按类查找元素时不可调用 | 蟒蛇硒
- r - 在一行代码中创建多列,其中每一列是通过合并不同的列来创建的
- discord.py - 我的不和谐机器人在 Python 上的命令代码由于某种原因无法执行
- java - TypeError:“JavaPackage”对象在 google 协作中不可调用