Я играю с Win32 :: IE: Механизировать, чтобы попытаться автоматически получить доступ к некоторым сайтам, требующим аутентификации.Пока я достиг умеренного успеха, например, я могу автоматически войти в свой почтовый ящик Yahoo.Но я считаю, что многие сайты используют какой-то механизм проверки изображений, который, возможно, называется CAPTCHA.Я ничего не могу с ними сделать.Но один из сайтов, к которым я пытаюсь получить автоматический доступ, использует простой код подтверждения.Он состоит из четырех цифр, выбираемых и копируемых.Но они не находятся в исходном файле, который можно получить с помощью
$mech->content;
. Я искал ключевое слово, которое появляется на веб-странице, но не в исходном файле, во всех файлах временных файлов Интернета, но все жене могу найти его.
Есть идеи, что происходит?Я подозревал, что код подтверждения каким-то образом скрыт в каком-то файле cookie, но, похоже, я не могу его найти: (
Ниже приведен код, который выполняет все требования к полям, кроме кода проверки:
use warnings;
use Win32::IE::Mechanize;
my $url = "http://www.zjsmap.com/smap/smap_login.jsp";
my $eccode = "myeccode";
my $username = "myaccountname";
my $password = "mypassword";
my $verify = "I can't figure out how to let the script get the code yet"
my $mech = Win32::IE::Mechanize->new(visible=>1);
$mech->get($url);
sleep(1); #avoids undefined value error
$mech->form_name("BaseForm");
$mech->field(ECCODE => $eccode);
$mech->field(MEMBERACCOUNT => $username);
$mech->field(PASSWORD => $password);
$mech->field(verify => $verify);
$mech->click();
Как всегда, любые предложения / комментарии будут с благодарностью приняты:)
ОБНОВЛЕНИЕ
Я нашел не слишком умный способДля решения этой проблемы.Пожалуйста, прокомментируйте мой собственный ответ ниже.Спасибо как всегда :)