以下是一个使用WWW::RobotRules和LWP::UserAgent来下载文件的Perl程序:
#!/usr/bin/perl
use strict;
use warnings;
use WWW::RobotRules;
use LWP::UserAgent;
use HTTP::Request;
use HTTP::Response;
my $url = 'http://www.people.com.cn/';
my $agent = LWP::UserAgent->new;
# 创建一个RobotRules对象,用于检查网站的下载规则
my $robot_rules = WWW::RobotRules->new($url);
# 检查网站是否允许下载音频文件
if ($robot_rules->allowed('audio/*')) {
print "网站允许下载音频文件。\n";
# 使用LWP::UserAgent下载音频文件
my $req = HTTP::Request->new(GET => $url);
my $res = $agent->request($req);
# 检查下载是否成功
if ($res->is_success) {
my $content = $res->content;
my $filename = 'people_com_cn_audio.mp3'; # 默认保存文件名
# 根据Content-Disposition头部信息获取实际文件名
if ($res->header('Content-Disposition')) {
my ($name) = $res->header('Content-Disposition') =~ /filename="([^"]+)/;
$filename = $name if $name;
}
# 保存下载的音频文件
open(my $output, '>', $filename) or die "Cannot open file: $!";
print $output $content;
close($output);
print "音频文件下载完成,保存为 $filename。\n";
} else {
print "下载失败:" . $res->status_line . "\n";
}
} else {
print "网站不允许下载音频文件。\n";
}
这个程序首先检查是否允许下载音频文件。如果允许,则使用LWP::UserAgent下载音频文件并将其保存到本地。注意,这个程序仅用于示例目的,你可能需要根据实际情况进行调整。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有