我可以使用HTTP :: Server :: Simple作为下载http服务器吗?

时间:2012-04-09 06:34:49

标签: perl webserver download

我需要设置下载HTTP服务器,我不想安装Apache。

我可以使用HTTP::Server::Simple作为下载http服务器吗?你能给我一些示例代码吗?

或者是否有其他CPAN模块可以帮助我快速简单地设置下载HTTP服务器?

sub download {
 my $cgi  = shift;   # CGI.pm object
 return if !ref $cgi;

 my $file = $cgi->param('file'); #file=test.tar.gz
 $file="/var/download/$file";    #file=/var/download/test.tar.gz 

 # send this file
}

3 个答案:

答案 0 :(得分:4)

与mugen kenichi对Plack的回答一样:

plackup -MPlack::App::Directory -e'Plack::App::Directory->new({ root => "." })->to_app'

这已经完成了David-SkyMesh所评论的事情,并且很容易在命令行中混合使用Authn / Authz。可以通过添加-s Starman来切换适用于面向Internet的强大的预分叉服务器。

答案 1 :(得分:2)

您也可以使用App::HTTPThis。安装后:

http_this dir_name

可能没有那么容易。实际上,如果您已经在要导出的目录中,则可以跳过dir_name参数。

答案 2 :(得分:-1)

如评论中所述,这不是一个小问题。但是,如果我需要一个快速而简单的服务器来提供我通常会做的文件

python -m SimpleHTTPServer

在我想要提供的目录中。它在0.0.0.0:8000启动了一个网络服务器,您可以将浏览器指向该处下载文件。

我不知道perl是否存在类似的一行解决方案,但我想它不会比这更简单。