perl lwp表格帖子

时间:2012-09-19 02:49:12

标签: perl cgi lwp

我正在尝试使用LWP将一些内容发布到托管服务,我无法控制,即我必须遵守他们的标准。

基本上,内容必须在一个类似于以下内容的帖子中进行:

POST / HTTP/1.1
Accept:*/*
Content-Type: text/xml
[various other headers]

<?xml version="1.0" encoding="UTF-8"?>
<xmlContent>here</xmlContent>

我正在查看LWP文档,其示例如下所示:

$response = $browser->post( $url,
   ['form' => '<?xml version="1.0" encoding="UTF-8"?><content>foobarbaz</content>'],
   'Content_Type' => 'text/xml', 
   'headerkey2' => 'hvalue2', 
 );

所以相反,我的数据就像这样:

[headers]

form=<?xml blah blah blah

我不希望那里有“form =”。

我已经尝试了一些解决方法,但我最终没有收到任何结果,或者最后还有一个额外的'='符号。看起来这应该很容易......有没有什么方法可以让我的内容作为帖子的主体而没有变量名?

我愿意做除了使用LWP以外的事情,这只是我的跳跃点,因为我之前已经使用过它。

谢谢!

1 个答案:

答案 0 :(得分:1)

我认为你不需要表格:

  $req = HTTP::Request->new(POST => $url);
  $req->header("Content-Type" => "text/xml");
  $req->content(<<EOT);
  <?xml version="1.0" encoding="UTF-8"?>
  <xmlContent>here</xmlContent>
  EOT