Perl 无法使用www:Mechanize登录网站

Perl 无法使用www:Mechanize登录网站,perl,Perl,我正在使用WWW:Mechanize尝试登录到一个站点 代码 但是,它没有登录到该站点。我做错了什么。网站重定向并说请启用Cookie以继续。我该怎么做呢 试着把这个方块放在你拿到之前 $mech->cookie_jar( HTTP::Cookies->new( file => "cookies.txt", autosave => 1, ignore_d

我正在使用WWW:Mechanize尝试登录到一个站点

代码

但是,它没有登录到该站点。我做错了什么。网站重定向并说请启用Cookie以继续。我该怎么做呢


试着把这个方块放在你拿到之前

$mech->cookie_jar(
        HTTP::Cookies->new(
            file           => "cookies.txt",
            autosave       => 1,
            ignore_discard => 1,
    )
);
SuperEdit2:我自己刚试过,似乎很管用。试试看。(将表单号更改为3并添加了代理别名)


那不行。它仍然显示需要启用Cookie。您是否尝试了新编辑的块?编辑:检查qpassword部件是否正确。网站的源代码中似乎没有任何“qpassword”。但我想那只是一个传输错误?是的。那也不行。我不知道为什么。对我把qpassword改为密码。我刚刚用上面的代码做了一个测试。我将解码后的内容保存到一个html文件中,当我打开它时,我似乎已登录。所以,试试看,祝你好运。只是增加了一个观察结果-如果我添加了一个新的url“”,并将其保存为html,它在加载时会卡住,请稍候。你知道为什么吗。
$mech->cookie_jar(
        HTTP::Cookies->new(
            file           => "cookies.txt",
            autosave       => 1,
            ignore_discard => 1,
    )
);
use strict;
use warnings;
use WWW::Mechanize;

# Create a new instance of Mechanize
my $bot = WWW::Mechanize->new();
$bot->agent_alias( 'Linux Mozilla' );
# Create a cookie jar for the login credentials
$bot->cookie_jar(
        HTTP::Cookies->new(
            file           => "cookies.txt",
            autosave       => 1,
            ignore_discard => 1,
    )
);
# Connect to the login page
my $response = $bot->get( 'https://www.amazon.com/gp/css/homepage.html/' );
# Get the login form. You might need to change the number.
$bot->form_number(3);
# Enter the login credentials.
$bot->field( email => 'email' );
$bot->field( password => 'pass' );
$response = $bot->click();

print $response->decoded_content;