私が扱うホストの1つは、自分のサイトから画像をダウンロードできないようにすることです。私は彼らに話し、彼らはユーザエージェントlibwww-perl/
をMozilla/5.0
に変更するように頼んだ。画像リンクはhttpとhttpsです。はこのperl関数を書き直す必要があります。 libperl UserAgentがブロックされているため
私は
my $ua = LWP::UserAgent->new();
$ua->ssl_opts(verify_hostnames => 0);
のようなさまざまなオプションを試してみましたが、しかし、私はそれがgetstore
で動作させることはできません。助けていただければ幸いです。
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