我想将一些XML从Perl程序发送到CGI脚本,该脚本利用XML::Simple将该XML作为输入并将XML作为输出发送。
有没有办法从Perl向CGI脚本发送XML?在这方面的任何帮助将非常感激。
谢谢
答案 0 :(得分:2)
其中一个可能的解决方案是使用HTTP :: Request :: Common模块,该模块公开了一些有用的函数,如GET
,POST
和HEADER
。
假设您要使用POST
将数据发送到远程应用程序,您可以这样做:
use HTTP::Request::Common;
use LWP::UserAgent;
my $url = 'http://localhost/cgi-bin/mycgi.pl';
my $xml = "<root></root>";
my $request = POST $url, Content_Type => 'text/xml; charset=utf-8', Content => $xml;
my $ua = LWP::UserAgent->new();
my $response = $ua->request($request);
if ( $response->is_success() ) {
print $response->content();
}
else {
warn $response->status_line, $/;
}
希望这有帮助!
答案 1 :(得分:0)
假设您已经在程序中使用了XML;它只是一个HTTP请求,因此LWP是您的朋友。具体取决于CGI程序如何期望传递XML(例如,作为POST的url编码形式数据,多部分MIME等)
答案 2 :(得分:0)
XML没有什么特别之处:它只是文本。像发送任何其他文本一样发送它。还有其他不适合你的东西吗?你有什么尝试?
如果您在向CGI程序发送任何内容时遇到问题,请查看WWW::Mechanize这样的框架,它可以为您完成请求和响应循环的大部分工作。