Perl post请求将zip文件作为base64发送?
我有一个Perl脚本,它试图通过LWP UserAgent模块发送一个类似这样的zip文件Perl post请求将zip文件作为base64发送?,perl,lwp,Perl,Lwp,我有一个Perl脚本,它试图通过LWP UserAgent模块发送一个类似这样的zip文件 my $req = POST $url, Content_Type => 'form-data', Content => [ submit => 1, upfile => [ $fname ] ]; 其中$fname是文件的路径。在服务器端,虽然我的POST数组似乎只有“submit”。 我应该对文件进行base64编码
my $req = POST $url, Content_Type => 'form-data',
Content => [
submit => 1,
upfile => [ $fname ]
];
其中$fname是文件的路径。在服务器端,虽然我的POST数组似乎只有“submit”。
我应该对文件进行base64编码并将其分配给变量吗?执行此操作的最佳方法是什么?确保可以解析文件名。但是,如果不能,您应该得到一个错误。至少在我的
HTTP::Request::Common
版本中是这样
您不必将二进制内容编码为Base64。(当然,除非服务器端应用程序恰好期望这种格式。)
下面是一个完整的示例脚本:
use strict;
use warnings;
use LWP::UserAgent;
use HTTP::Request::Common 'POST';
my $ua = LWP::UserAgent->new;
my $url = 'http://localhost:8888'; # Fiddler
my $req = POST $url,
Content_Type => 'form-data',
Content => [
submit => 1,
upfile => [ 'C:\temp\bla.zip' ],
];
my $line = '=' x 78 . "\n";
print $line, $req->as_string;
my $rsp = $ua->request( $req );
print $line, $rsp->as_string;
请发布服务器端脚本的代码,我看不出上面的代码有问题,因此我怀疑您没有正确获取文件数据。啊,我知道我希望文件在$\u post数组中提交,所以当我没有看到它时,我认为有问题,我才意识到它在$\u FILES数组中,谢谢!