Тебе нужно погоня за самим перенаправлением.
if ($response->is_redirect()) {
$url = $response->header('Location');
# goto try_again
}
Возможно, вы захотите поместить это в цикл while и использовать «next» вместо «goto». Вы также можете войти в него, ограничить количество перенаправлений, которые вы хотите преследовать, и т. Д.
[обновление]
ОК. Я только что заметил, что есть более простой способ сделать это. Со справочной страницы LWP :: UserAgent:
$ua->requests_redirectable
$ua->requests_redirectable( \@requests )
This reads or sets the object's list of request names that
"$ua->redirect_ok(...)" will allow redirection for. By default,
this is "['GET', 'HEAD']", as per RFC 2616. To change to include
'POST', consider:
push @{ $ua->requests_redirectable }, 'POST';
Так что да, может быть, просто сделай это. : -)