redirect_ok
- это функция обратного вызова, вызываемая внутренне LWP для определения допустимости определенного перенаправления.Он используется подклассами LWP
и перегрузкой redirect_ok
для выполнения более сложных тестов по запросу и ответу.
Метод принимает два параметра: HTTP::Request
и HTTP::Response
.Вы передаете ноль как HTTP::Request
и undef
как HTTP::Response
.Ноль бесполезен в качестве параметра для пользовательского агента request
, поэтому программа аварийно завершает работу.
Мне не совсем ясно, для чего нужно, но для отключения всех перенаправлений следует использовать метод requests_redirectable
, который принимаетсписок типов HTTP-запросов, действительных для перенаправления.По умолчанию он установлен как
$mech->requests_redirectable([qw/ GET HEAD /]);
, поэтому перенаправление POST будет отклонено.Чтобы предотвратить перенаправление всех типов запросов, передайте пустой список, подобный этому
$mech->requests_redirectable([]);