Perl MIME::Parser无法正确分析多部分/混合部分

Perl MIME::Parser无法正确分析多部分/混合部分,perl,mime,Perl,Mime,我有一个服务器向我发送此响应。但是,使用下面的代码,我最终得到了一个实体,它不包含任何部分,也不包含边界(包括边界)之间的所有内容,作为MIME::Body。除了实现我自己的多部分解析器(通常可能有更多的部分)和放弃应该为我做这件事的模块之外,我还能做些什么吗 #!/usr/bin/perl use MIME::Parser; my $response = <<_EOF; HTTP/1.1 200 OK Transfer-Encoding: chunked Content-Typ

我有一个服务器向我发送此响应。但是,使用下面的代码,我最终得到了一个实体,它不包含任何部分,也不包含边界(包括边界)之间的所有内容,作为MIME::Body。除了实现我自己的多部分解析器(通常可能有更多的部分)和放弃应该为我做这件事的模块之外,我还能做些什么吗

#!/usr/bin/perl

use MIME::Parser;

my $response = <<_EOF;
HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Type: multipart/mixed; boundary="be4dc417ebd640944ab26f033e5ea1ab"

--be4dc417ebd640944ab26f033e5ea1ab
Content-Type: application/json

{"a":"b"}
--be4dc417ebd640944ab26f033e5ea1ab--
_EOF

my $mime_parser = new MIME::Parser;
$mime_parser->tmp_to_core(1);
$mime_parser->output_to_core(1);
my $entity = $mime_parser->parse_data($response);

print "$MIME::Parser::VERSION $^V $^O\n\n";
$entity->print(\*STDOUT);
print "\n\n";
print $entity->parts(0)->bodyhandle->as_string;

HTTP/1.1 200 OK行不是MIME响应的一部分。拿出它,它就可以正常工作。

对我来说,
$entity->parts(0)
返回一个MIME::entity实例,其主体仅为
{“a”:“b”}
,所以发布一个完整的程序,该程序可以独立运行,以正确地演示您的问题。--
$entity->bodyhandle->as_string
抛出错误
无法对未定义的值调用方法“as_string”
,这是一个编程错误,您需要
$entity->parts(0)->bodyhandle->as_string
.Hmm。明天将检查我的版本并发布完整的程序。
5.502 v5.10.1 MSWin32


--be4dc417ebd640944ab26f033e5ea1ab
Content-Type: application/json

{"a":"b"}
--be4dc417ebd640944ab26f033e5ea1ab--


Can't call method "bodyhandle" on an undefined value at test.pl line 25.