Извините, но почти все не так.
- Вы используете смесь
LWP::UserAgent
и WWW::Mechanize
неправильно. Вы не можете сделать $mech->follow_link()
, если используете $browser->get()
, так как вы смешиваете функцию из 2-х модулей. $mech
не знаю, что вы сделали запрос.
- Аргументы в учетные данные не годятся, см. Документ
Скорее всего, вы хотите сделать что-то вроде этого:
use WWW::Mechanize;
my $mech = WWW::Mechanize->new();
$mech->credentials( '************' , '*************'); # if you do need to supply server and realms use credentials like in LWP doc
$mech->get('http://datawww2.wxc.com/kml/echo/MESH_Max_180min/');
$mech->follow_link( n => 8);
Вы можете проверить результат get () и follow_link (), проверив $mech->success()
result
if (!$mech->success()) { warn "error"; ... }
После перехода по ссылке-> данные доступны с помощью $mech->content()
, если вы хотите сохранить их в файле, используйте $mech->save_content('/path/to/a/file')
Полный код может быть:
use strict;
use WWW::Mechanize;
my $mech = WWW::Mechanize->new();
$mech->credentials( '************' , '*************'); #
$mech->get('http://datawww2.wxc.com/kml/echo/MESH_Max_180min/');
die "Error: failled to load the web page" if (!$mech->success());
$mech->follow_link( n => 8);
die "Error: failled to download content" if (!$mech->success());
$mech->save_content('/tmp/mydownloadedfile')