我正在尝试从用 Perl 编写的AGI脚本下载 MP3 文件,但是没有下载该文件。奇怪的是,如果我尝试从一个普通的 Perl 脚本下载相同的文件,它就会被下载。
这是我的 AGI 代码:
use Asterisk::AGI;
$AGI = new Asterisk::AGI;
my %input = $AGI->ReadParse();
$AGI->answer();
sub getAudioFile
{
$filename = shift;
open(FH, ">./audio.mp3") || die "error";
binmode(FH);
$AGI->verbose("Downloading audio file");
$http_query = "curl http://www.something.com/cgi-bin/downloadfile.cgi? -d \"type=mp3&filename=$filename\" -s |";
open (PIPER, $http_query) or die "sorry";
$rets = "";
while (<PIPER>)
{
$rets .= $_;
}
close(PIPER);
chomp $rets;
print FH $rets;
close(FH);
$AGI->verbose("Download complete");
}
getAudioFile('somefile.mp3');
$AGI->hangup();
这里可能出了什么问题?