gpt4 book ai didi

perl - 如何将多部分 HTTP 请求从 Perl 发布到 Java 并获得响应?

转载 作者:行者123 更新时间:2023-12-04 15:05:07 24 4
gpt4 key购买 nike

我正在尝试从 Perl 中的一个子例程向基于 Java 的 Controller 发送请求。
但我没有得到任何回应。我知道 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"]
]);

这段代码有什么问题吗?

最佳答案

发布数据 must be of type multipart/form-data .

编辑:好的,事实证明,指定 form-data正如 HTTP::Request::Common 中提到的那样就足够了文档:

The POST method also supports the multipart/form-data content used for Form-based File Upload as specified in RFC 1867. You trigger this content format by specifying a content type of form-data as one of the request headers.



但是,要使用 HTTP::Request::Common::POST您使用的方式,您需要导入 POST :
use HTTP::Request::Common qw(POST);

或使用 $ua->post :

The post(...) method of LWP::UserAgent exists as a shortcut for $ua->request(POST ...).



您可以使用 WWW::Mechanize 让您的生活更轻松.另见 this upload example .

关于perl - 如何将多部分 HTTP 请求从 Perl 发布到 Java 并获得响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2334101/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com