«get» не работает в perl

#perl #get #lwp

#perl #получить #lwp

Вопрос:

Я новичок в perl. За последние несколько дней я создал несколько простых скриптов, которые сохраняют исходные коды веб-сайтов на мой компьютер через «get». Они делают то, что должны, но не получат содержимое веб-сайта, который является форумом. Веб-сайты, не относящиеся к форуму, работают просто отлично. Есть идеи, что происходит? Вот проблемный фрагмент:

 my $url = 'http://www.computerforum.com/';
my $content = get $url || die "Unable to get content";
  

Комментарии:

1. Что они получают? Если это выдает ошибку, в чем ошибка?

2. При каждом запуске в терминале появляется сообщение «Не удалось получить содержимое».

Ответ №1:

http://p3rl.org/LWP::Simple#get:

Функция get() извлекет документ, идентифицированный по указанному URL, и вернет его. В случае сбоя возвращает undef. […]

Вы не сможете просмотреть код ответа или заголовки ответа (например, ‘Content-Type’) при доступе к Интернету с помощью этой функции. Если вам нужна эта информация, вы должны использовать полный интерфейс OO (см. LWP::UserAgent).

Вам действительно нужны лучшие отчеты об ошибках, переключитесь на библиотеку LWP::UserAgent. Я подозреваю, что программное обеспечение форума блокирует пользовательский агент LWP.