Я автоматически пытается входа в веб-сайт, используя Perl с WWW :: Механизируйте.WWW :: Mechanize Perl Войти работает только после перезапуска
Что я делаю:
$bot = WWW::Mechanize->new();
$bot->cookie_jar(
HTTP::Cookies->new(
file => "cookies.txt",
autosave => 1,
ignore_discard => 1,
)
);
$response = $bot->get('http://blah.foo/login');
$bot->form_number(1);
$bot->field(usern => 'user');
$bot->field(pass => 'pass');
$response =$bot->click();
print $response->content();
$response = $bot->get('http://blah.foo');
print $response->content();
Логина работает, но когда я загрузить страницу он говорит мне, что я не связан.
Вы видите, что я хранил файлы cookie в файле. Теперь, если я перезапущу скрипт без части входа, он говорит, что я подключен ...
Кто-нибудь понимает это странное поведение?
Редактировать: На самом деле я заметил, что проблема происходит тоже с некоторых веб-браузеров на определенной платформе. На странице написано: «Не вошел». Однако достаточно перезагрузить страницу для входа.
В скрипте я попытался сделать двойной доступ, но он не работает лучше. Единственный способ - запустить его дважды.
Он работал с curl, когда я сделал последний запрос дважды.
О, так это ТВОЙ бот, который публикует все эти вопросы на SO! :) – DVK
Имеется ли эта проблема с ЛЮБОЙ веб-сайтом или только с определенной страницей входа? Не могли бы вы привести пример общедоступной страницы в Интернете, где это поведение проявляется, чтобы мы могли попробовать и воспроизвести? – DVK
См. Мое дополнение ниже. К сожалению, публичная страница недоступна, извините. – Klaus