goe*_*goe 6 perl post multipartform-data httprequest
我试图从Perl中的一个子例程向基于Java的控制器发送请求.但我没有得到任何回应.我知道Java代码工作文件,因为如果我从HTML表单发布它,我可以得到响应.
这是我的Perl代码:
  use HTTP::Request::Common;
  my $ua = LWP::UserAgent->new;
  my $response = $ua->request(POST 'http://testserver/testing.nc',
        Content_Type => 'form-data',
        Content => [
            method => 'submit',
            ftp_server => 'ftp.localhost',
            ftp_user => 'testuser',
            ftp_password => 'testpass',
            remote_path => '/home/files',
            port => 22,
            file_to_upload => ["$file"]
  ]);
这段代码有问题吗?
发布的数据必须是类型multipart/form-data.
编辑:好的,事实证明,form-data如HTTP :: Request :: Common文档中所述,指定就足够了:
POST方法还支持
multipart/form-dataRFC 1867中指定的基于表单的文件上载所使用的内容.您可以通过将内容类型指定form-data为请求标头之一来触发此内容格式.
但是,要使用HTTP::Request::Common::POST您使用的方式,您需要导入POST:
use HTTP::Request::Common qw(POST);
或使用$ua->post:
LWP :: UserAgent的
post(...)方法作为快捷方式存在.$ua->request(POST ...)
使用WWW :: Mechanize可以让您的生活更轻松.另请参阅此上传示例.
| 归档时间: | 
 | 
| 查看次数: | 5697 次 | 
| 最近记录: |