gpt4 book ai didi

perl - 使用 LWP::UserAgent 损坏图像

转载 作者:行者123 更新时间:2023-12-02 08:43:58 26 4
gpt4 key购买 nike

以下脚本循环运行,使用 LWP::UserAgent 检索图像,并使用 Image::Magick 调整它们的大小.

我在读取下载的图像时从 Image::Magick 收到此错误:

Exception 450: Unsupported marker type 0x54

如果我将 LWP 下载的图像下载到我的计算机,在照片编辑器中打开它,另存为 .jpg 文件,上传它并尝试使用 Image::Magick 读取,那么一切都是美好的。这会让我相信图像没有正确保存。

我需要使用 LWP::UserAgent,因为我连接的服务器不允许下载,除非它认为客户端正在请求数据。

use LWP::UserAgent;
use Image::Magick;

$ua = new LWP::UserAgent;
$ua->agent("$0/0.1 " . $ua->agent);
$ua->agent("Mozilla/8.0");

my $PICURL ="http://www.example.com/img.aspx?pid=cjfsaf79afffafhfah777af7";
my $PICDEST ="/var/vhosts/mysite.com/httpdocs/images";
my $PICNAME ="01.jpg";

my $response = $ua->get("$PICURL");

open(outfile, ">:raw", "$PICDEST/$PICNAME");
binmode outfile;

if ($response->is_success) {
print outfile $response->content;
$Pi++;
$PTOT++;
}
else {
die $response->status_line;
}

$image = new Image::Magick;
$image->Read("$PICDEST/$PICNAME");
$image->Scale(width=>800, height=>600);
$image->Write("$PICDEST/$PICNAME");
$image->Scale(width=>216, height=>163);
$image->Set(quality=>90);
$image->Write("$PICDEST/TH_$PICNAME");

最佳答案

从不使用

$response->content()

你想要

$response->decoded_content( charset => 'none' )

关于perl - 使用 LWP::UserAgent 损坏图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14093237/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com