Сервер может давать вам только результаты по умолчанию без HTTP_REFERER.Я видел, как некоторые установки делают это намеренно, чтобы не допустить очистки.
Попробуйте это:
Перед циклом while добавьте:
my $referer;
Прямо перед тем, как вы получите:
# grab the result of...
Добавить:
$referer = $url
Таким образом, вы сохраняете предыдущий URL-адрес перед его сбросом на следующий.
Затем в настройках заголовка UserAgent,добавьте это в:
$ua->default_header(pragma => "no-cache", max-age => 0, Referer => $referer);
Я не скажу наверняка, что это проблема, но по моему опыту именно с этого я и начну.Другой вариант - попробовать за пределами LWP.Запишите все ваши URL в файл и попробуйте wget-ting их или lynx -source-ing их из командной строки, чтобы увидеть, если вы получите результаты, отличные от LWP.Если нет, то, безусловно, что-то делает сервер, и хитрость заключается в том, чтобы найти способ обойти его, вот и все ... и решение этой хитрости заключается в том, чтобы просто более точно продублировать то, что делает обычный веб-браузер (таким образом, сравниваяВаши заголовки, отправленные на заголовки, отправленные Firebug в Firefox или Инспектором в Safari, могут сильно помочь)