如何从命令行测试Perl CGI脚本的文件上传?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从命令行测试Perl CGI脚本的文件上传?相关的知识,希望对你有一定的参考价值。

我有一个调用my $file_handle = $cgi->upload('uploaded_file')的Perl脚本。有没有办法在部署到Web服务器之前从命令行测试此脚本?我查看了(How can I send POST and GET data to a Perl CGI script via the command line?)和其他问题,但找不到任何从命令行传递文件进行上传的信息。在此先感谢您的帮助。

答案

文件上传只是另一个POST请求!见DEBUGGING in CGI.pm。该程序是index.pl,要上传的文件是somefile.bin,表单字段名称是uploaded_file

REQUEST_METHOD=POST 
CONTENT_TYPE='multipart/form-data; boundary=xYzZY' 
perl index.pl < <(
    perl -MHTTP::Request::Common=POST -e'
        print POST(
            undef,
            Content_Type => "form-data",
            Content => [ uploaded_file => [ "somefile.bin" ]]
        )->content
    '
)

以上是关于如何从命令行测试Perl CGI脚本的文件上传?的主要内容,如果未能解决你的问题,请参考以下文章

以管理员身份运行 cgi perl 脚本

Perl 命令行问题

从 Perl 脚本执行 .net 命令行应用程序

使用Perl解析JSON

一些 GNUPlot 终端从命令行工作,但从 Perl 调用时不能(管道)

如何在不使用命令行的情况下运行 Perl 脚本?