【发布时间】:2013-12-11 14:43:45
【问题描述】:
我正在开发一个 perl 程序,它以多部分 MIME 的形式将数据发布到 Web 服务。我从服务器收到了以下数据。我使用HTTP::Request::Common模块提交数据。
如何在 perl 中解析以下数据。
_内容:
--AaioCdPr
Content-Disposition: form-data; name="AAA"
TMP
--AaioCdPr
Content-Disposition: form-data; name="BBB"
TEST
--AaioCdPr
Content-Disposition: form-data; name="BBBBCC"
TEST
--AaioCdPr
【问题讨论】:
-
你收到的数据有CGI请求吗?如果是这样,CGI 模块就可以了。
-
我不认为 CGI 可以在这里做任何事情。我使用以下 sn-p 代码来发布数据。我的 $usrag1 = LWP::UserAgent->new();我的 ($req1,$response1); $req1=POST(example.com/webservice, Content_Type => 'multipart/form-data', Content => [ Type => "XXXX", Mode => "XXXXX" ] ); $response1 = $usrag1->request($req1);
-
来自 web 服务的响应为:- ($response1 的内容) '_rc' => '200', '_headers' => bless( { 'x-powered-by' => 'Servlet 2.5; JBoss-5.0/JBossWeb-2.1', 'XXXXXX' => 1 }, 'HTTP::Headers' ), '_msg' => 'OK', '_request' => bless( { '_content' => '-- xYzZY 内容配置:form-data; name="AAAA" BBBBBB --xYzZY 内容配置:form-data; name="CCCCCC" DDDDDDDD --xYzZY
-
我能够通过模式匹配拆分 \r\n & 来处理 _content。我只是在寻找是否存在标准方法。
-
关于“我不认为 CGI 可以在这里做任何事情。”,我从来没有说过。您没有收到来自 CGI 请求的数据,因此使用 CGI 的建议不适用。
标签: perl parsing multipartform-data