내가 처리하는 호스트 중 하나는 사이트에서 이미지를 다운로드하지 못하게하는 것입니다. 나는 그들에게 말했고 그들은 사용자 에이전트 libwww-perl/
을 Mozilla/5.0
으로 바꾸라고 요청했다. 이미지 링크는 http와 https입니다.이 perl 함수를 다시 작성해야합니다. libperl UserAgent가 차단되어 있기 때문에
나는
my $ua = LWP::UserAgent->new();
$ua->ssl_opts(verify_hostnames => 0);
같은 다양한 옵션을 시도하지만 그것이 getstore
작업을 얻을 수 없습니다. 어떤 도움을 주시면 감사하겠습니다. 당신은 SSL 옵션 장난하는 이유
sub storeimage {
my $image = shift;
if ($image =~ m#^https?://.+\/(.+\.)([a-z]+)$#i) {
my $ext = $2;
my $filename = "$1$2";
if (exists $wantedfiles{$ext}) {
my $savepath = $localwantedpath.$wantedfiles{$ext};
if (!-f $savepath.$filename) {
unless (is_success(getstore($image, $savepath.$filename))) {
_warn("Couldn't download file $image to $savepath.");
return '';
}
if ($ext =~ /jpg|jpeg/oi) {
system("mogrify -resize '800>' -quality 70 $savepath$filename");
#mogrify -resize 800x800 -quality 70 -format jpg $imageloc
}
}
return $wantedfiles{$ext}.$filename;
}
}
return '';
}
나는이 $ ua = LWP :: UserAgent-> new (ssl_opts => {verify_hostname => 1})를 시도했습니다. $ ua-> agent ('Mozilla/5.0'); 알아낼 수없는 것은 getstore와 같은 지정된 폴더에 이미지를 저장하는 방법입니다. 내가 읽은 것에서는 LWP :: UserAgent와 함께 getstore를 사용할 수 없다. – naf